<?xml version="1.0"?>
<doc>
    <assembly>
        <name>Microsoft.Cci.MutableCodeModel</name>
    </assembly>
    <members>
        <member name="T:Microsoft.Cci.MutableCodeModel.MethodBodyNormalizer">
            <summary>
            This visitor takes a method body and rewrites it so that high level constructs such as anonymous delegates and yield statements
            are turned into helper classes and methods, thus making it easier to generate IL from the CodeModel.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.MethodBodyCodeAndContractMutator">
            <summary>
            Use this as a base class when you define a code and contract mutator that mutates ONLY
            method bodies and their contracts.
            This class has overrides for Visit(IFieldReference), Visit(IMethodReference), and
            Visit(ITypeReference) that make sure to not modify the references.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator">
            <summary>
            Uses the inherited methods from MetadataMutator to walk everything down to the method body level,
            then takes over and define Visit methods for all of the structures in the code model that pertain to method bodies.
            Also visits and mutates the associated code contracts and establishes associations with new copies.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.CodeMutator">
            <summary>
            Uses the inherited methods from MetadataMutator to walk everything down to the method body level,
            then takes over and define Visit methods for all of the structures in the code model that pertain to method bodies.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.MutableCodeModel.CodeMutator.sourceLocationProvider">
            <summary>
            An object that can map the ILocation objects found in a block of statements to IPrimarySourceLocation objects. May be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.#ctor(Microsoft.Cci.IMetadataHost)">
            <summary>
            Allocates a mutator that uses the inherited methods from MetadataMutator to walk everything down to the method body level,
            then takes over and define Visit methods for all of the structures in the code model that pertain to method bodies.
            </summary>
            <param name="host">An object representing the application that is hosting this mutator. It is used to obtain access to some global
            objects and services such as the shared name table and the table for interning references.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.#ctor(Microsoft.Cci.IMetadataHost,System.Boolean)">
            <summary>
            Allocates a mutator that uses the inherited methods from MetadataMutator to walk everything down to the method body level,
            then takes over and define Visit methods for all of the structures in the code model that pertain to method bodies.
            </summary>
            <param name="host">An object representing the application that is hosting this mutator. It is used to obtain access to some global
            objects and services such as the shared name table and the table for interning references.</param>
            <param name="copyOnlyIfNotAlreadyMutable">True if the mutator should try and perform mutations in place, rather than mutating new copies.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.#ctor(Microsoft.Cci.IMetadataHost,Microsoft.Cci.ISourceLocationProvider)">
            <summary>
            Allocates a mutator that uses the inherited methods from MetadataMutator to walk everything down to the method body level,
            then takes over and define Visit methods for all of the structures in the code model that pertain to method bodies.
            </summary>
            <param name="host">An object representing the application that is hosting this mutator. It is used to obtain access to some global
            objects and services such as the shared name table and the table for interning references.</param>
            <param name="sourceLocationProvider">An object that can map the ILocation objects found in a block of statements to IPrimarySourceLocation objects. May be null.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.#ctor(Microsoft.Cci.IMetadataHost,System.Boolean,Microsoft.Cci.ISourceLocationProvider)">
            <summary>
            Allocates a mutator that uses the inherited methods from MetadataMutator to walk everything down to the method body level,
            then takes over and define Visit methods for all of the structures in the code model that pertain to method bodies.
            </summary>
            <param name="host">An object representing the application that is hosting this mutator. It is used to obtain access to some global
            objects and services such as the shared name table and the table for interning references.</param>
            <param name="copyOnlyIfNotAlreadyMutable"></param>
            <param name="sourceLocationProvider">An object that can map the ILocation objects found in a block of statements to IPrimarySourceLocation objects. May be null.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.Addition)">
            <summary>
            Visits the specified addition.
            </summary>
            <param name="addition">The addition.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.AddressableExpression)">
            <summary>
            Visits the specified addressable expression.
            </summary>
            <param name="addressableExpression">The addressable expression.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.AddressDereference)">
            <summary>
            Visits the specified address dereference.
            </summary>
            <param name="addressDereference">The address dereference.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.AddressOf)">
            <summary>
            Visits the specified address of.
            </summary>
            <param name="addressOf">The address of.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.AnonymousDelegate)">
            <summary>
            Visits the specified anonymous delegate.
            </summary>
            <param name="anonymousDelegate">The anonymous delegate.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.ArrayIndexer)">
            <summary>
            Visits the specified array indexer.
            </summary>
            <param name="arrayIndexer">The array indexer.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.AssertStatement)">
            <summary>
            Visits the specified assert statement.
            </summary>
            <param name="assertStatement">The assert statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.Assignment)">
            <summary>
            Visits the specified assignment.
            </summary>
            <param name="assignment">The assignment.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.AssumeStatement)">
            <summary>
            Visits the specified assume statement.
            </summary>
            <param name="assumeStatement">The assume statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.BaseClassReference)">
            <summary>
            Visits the specified base class reference.
            </summary>
            <param name="baseClassReference">The base class reference.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.BitwiseAnd)">
            <summary>
            Visits the specified bitwise and.
            </summary>
            <param name="bitwiseAnd">The bitwise and.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.BitwiseOr)">
            <summary>
            Visits the specified bitwise or.
            </summary>
            <param name="bitwiseOr">The bitwise or.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.BinaryOperation)">
            <summary>
            Visits the specified binary operation.
            </summary>
            <param name="binaryOperation">The binary operation.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.BlockExpression)">
            <summary>
            Visits the specified block expression.
            </summary>
            <param name="blockExpression">The block expression.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.BlockStatement)">
            <summary>
            Visits the specified block statement.
            </summary>
            <param name="blockStatement">The block statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.BoundExpression)">
            <summary>
            Visits the specified bound expression.
            </summary>
            <param name="boundExpression">The bound expression.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.BreakStatement)">
            <summary>
            Visits the specified break statement.
            </summary>
            <param name="breakStatement">The break statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.CastIfPossible)">
            <summary>
            Visits the specified cast if possible.
            </summary>
            <param name="castIfPossible">The cast if possible.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(System.Collections.Generic.List{Microsoft.Cci.MutableCodeModel.CatchClause})">
            <summary>
            Visits the specified catch clauses.
            </summary>
            <param name="catchClauses">The catch clauses.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.CatchClause)">
            <summary>
            Visits the specified catch clause.
            </summary>
            <param name="catchClause">The catch clause.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.CheckIfInstance)">
            <summary>
            Visits the specified check if instance.
            </summary>
            <param name="checkIfInstance">The check if instance.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.CompileTimeConstant)">
            <summary>
            Visits the specified constant.
            </summary>
            <param name="constant">The constant.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.Conversion)">
            <summary>
            Visits the specified conversion.
            </summary>
            <param name="conversion">The conversion.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.Conditional)">
            <summary>
            Visits the specified conditional.
            </summary>
            <param name="conditional">The conditional.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.ConditionalStatement)">
            <summary>
            Visits the specified conditional statement.
            </summary>
            <param name="conditionalStatement">The conditional statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.ContinueStatement)">
            <summary>
            Visits the specified continue statement.
            </summary>
            <param name="continueStatement">The continue statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.CreateArray)">
            <summary>
            Visits the specified create array.
            </summary>
            <param name="createArray">The create array.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.CreateObjectInstance)">
            <summary>
            Visits the specified create object instance.
            </summary>
            <param name="createObjectInstance">The create object instance.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.CreateDelegateInstance)">
            <summary>
            Visits the specified create delegate instance.
            </summary>
            <param name="createDelegateInstance">The create delegate instance.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.DefaultValue)">
            <summary>
            Visits the specified default value.
            </summary>
            <param name="defaultValue">The default value.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.DebuggerBreakStatement)">
            <summary>
            Visits the specified debugger break statement.
            </summary>
            <param name="debuggerBreakStatement">The debugger break statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.Division)">
            <summary>
            Visits the specified division.
            </summary>
            <param name="division">The division.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.DoUntilStatement)">
            <summary>
            Visits the specified do until statement.
            </summary>
            <param name="doUntilStatement">The do until statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.EmptyStatement)">
            <summary>
            Visits the specified empty statement.
            </summary>
            <param name="emptyStatement">The empty statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.Equality)">
            <summary>
            Visits the specified equality.
            </summary>
            <param name="equality">The equality.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.ExclusiveOr)">
            <summary>
            Visits the specified exclusive or.
            </summary>
            <param name="exclusiveOr">The exclusive or.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(System.Collections.Generic.List{Microsoft.Cci.IExpression})">
            <summary>
            Visits the specified expressions.
            </summary>
            <param name="expressions">The expressions.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.ExpressionStatement)">
            <summary>
            Visits the specified expression statement.
            </summary>
            <param name="expressionStatement">The expression statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.ForEachStatement)">
            <summary>
            Visits the specified for each statement.
            </summary>
            <param name="forEachStatement">For each statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.ForStatement)">
            <summary>
            Visits the specified for statement.
            </summary>
            <param name="forStatement">For statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.GetTypeOfTypedReference)">
            <summary>
            Visits the specified get type of typed reference.
            </summary>
            <param name="getTypeOfTypedReference">The get type of typed reference.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.GetValueOfTypedReference)">
            <summary>
            Visits the specified get value of typed reference.
            </summary>
            <param name="getValueOfTypedReference">The get value of typed reference.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.GotoStatement)">
            <summary>
            Visits the specified goto statement.
            </summary>
            <param name="gotoStatement">The goto statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.GotoSwitchCaseStatement)">
            <summary>
            Visits the specified goto switch case statement.
            </summary>
            <param name="gotoSwitchCaseStatement">The goto switch case statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.GreaterThan)">
            <summary>
            Visits the specified greater than.
            </summary>
            <param name="greaterThan">The greater than.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.GreaterThanOrEqual)">
            <summary>
            Visits the specified greater than or equal.
            </summary>
            <param name="greaterThanOrEqual">The greater than or equal.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.LabeledStatement)">
            <summary>
            Visits the specified labeled statement.
            </summary>
            <param name="labeledStatement">The labeled statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.LeftShift)">
            <summary>
            Visits the specified left shift.
            </summary>
            <param name="leftShift">The left shift.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.LessThan)">
            <summary>
            Visits the specified less than.
            </summary>
            <param name="lessThan">The less than.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.LessThanOrEqual)">
            <summary>
            Visits the specified less than or equal.
            </summary>
            <param name="lessThanOrEqual">The less than or equal.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.LocalDeclarationStatement)">
            <summary>
            Visits the specified local declaration statement.
            </summary>
            <param name="localDeclarationStatement">The local declaration statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.LockStatement)">
            <summary>
            Visits the specified lock statement.
            </summary>
            <param name="lockStatement">The lock statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.LogicalNot)">
            <summary>
            Visits the specified logical not.
            </summary>
            <param name="logicalNot">The logical not.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.MakeTypedReference)">
            <summary>
            Visits the specified make typed reference.
            </summary>
            <param name="makeTypedReference">The make typed reference.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.IMethodBody)">
            <summary>
            Visits the specified method body.
            </summary>
            <param name="methodBody">The method body.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.MethodCall)">
            <summary>
            Visits the specified method call.
            </summary>
            <param name="methodCall">The method call.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.Modulus)">
            <summary>
            Visits the specified modulus.
            </summary>
            <param name="modulus">The modulus.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.Multiplication)">
            <summary>
            Visits the specified multiplication.
            </summary>
            <param name="multiplication">The multiplication.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.NamedArgument)">
            <summary>
            Visits the specified named argument.
            </summary>
            <param name="namedArgument">The named argument.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.NotEquality)">
            <summary>
            Visits the specified not equality.
            </summary>
            <param name="notEquality">The not equality.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.OldValue)">
            <summary>
            Visits the specified old value.
            </summary>
            <param name="oldValue">The old value.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.OnesComplement)">
            <summary>
            Visits the specified ones complement.
            </summary>
            <param name="onesComplement">The ones complement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.UnaryOperation)">
            <summary>
            Visits the specified unary operation.
            </summary>
            <param name="unaryOperation">The unary operation.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.OutArgument)">
            <summary>
            Visits the specified out argument.
            </summary>
            <param name="outArgument">The out argument.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.PointerCall)">
            <summary>
            Visits the specified pointer call.
            </summary>
            <param name="pointerCall">The pointer call.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.RefArgument)">
            <summary>
            Visits the specified ref argument.
            </summary>
            <param name="refArgument">The ref argument.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.ResourceUseStatement)">
            <summary>
            Visits the specified resource use statement.
            </summary>
            <param name="resourceUseStatement">The resource use statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.RethrowStatement)">
            <summary>
            Visits the specified rethrow statement.
            </summary>
            <param name="rethrowStatement">The rethrow statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.ReturnStatement)">
            <summary>
            Visits the specified return statement.
            </summary>
            <param name="returnStatement">The return statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.ReturnValue)">
            <summary>
            Visits the specified return value.
            </summary>
            <param name="returnValue">The return value.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.RightShift)">
            <summary>
            Visits the specified right shift.
            </summary>
            <param name="rightShift">The right shift.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.RuntimeArgumentHandleExpression)">
            <summary>
            Visits the specified runtime argument handle expression.
            </summary>
            <param name="runtimeArgumentHandleExpression">The runtime argument handle expression.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.SizeOf)">
            <summary>
            Visits the specified size of.
            </summary>
            <param name="sizeOf">The size of.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.StackArrayCreate)">
            <summary>
            Visits the specified stack array create.
            </summary>
            <param name="stackArrayCreate">The stack array create.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.Subtraction)">
            <summary>
            Visits the specified subtraction.
            </summary>
            <param name="subtraction">The subtraction.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(System.Collections.Generic.List{Microsoft.Cci.MutableCodeModel.SwitchCase})">
            <summary>
            Visits the specified switch cases.
            </summary>
            <param name="switchCases">The switch cases.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.SwitchCase)">
            <summary>
            Visits the specified switch case.
            </summary>
            <param name="switchCase">The switch case.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.SwitchStatement)">
            <summary>
            Visits the specified switch statement.
            </summary>
            <param name="switchStatement">The switch statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.TargetExpression)">
            <summary>
            Visits the specified target expression.
            </summary>
            <param name="targetExpression">The target expression.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.ThisReference)">
            <summary>
            Visits the specified this reference.
            </summary>
            <param name="thisReference">The this reference.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.ThrowStatement)">
            <summary>
            Visits the specified throw statement.
            </summary>
            <param name="throwStatement">The throw statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.TryCatchFinallyStatement)">
            <summary>
            Visits the specified try catch filter finally statement.
            </summary>
            <param name="tryCatchFilterFinallyStatement">The try catch filter finally statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.TokenOf)">
            <summary>
            Visits the specified token of.
            </summary>
            <param name="tokenOf">The token of.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.TypeOf)">
            <summary>
            Visits the specified type of.
            </summary>
            <param name="typeOf">The type of.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.UnaryNegation)">
            <summary>
            Visits the specified unary negation.
            </summary>
            <param name="unaryNegation">The unary negation.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.UnaryPlus)">
            <summary>
            Visits the specified unary plus.
            </summary>
            <param name="unaryPlus">The unary plus.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.VectorLength)">
            <summary>
            Visits the specified vector length.
            </summary>
            <param name="vectorLength">Length of the vector.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.WhileDoStatement)">
            <summary>
            Visits the specified while do statement.
            </summary>
            <param name="whileDoStatement">The while do statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.YieldBreakStatement)">
            <summary>
            Visits the specified yield break statement.
            </summary>
            <param name="yieldBreakStatement">The yield break statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.MutableCodeModel.YieldReturnStatement)">
            <summary>
            Visits the specified yield return statement.
            </summary>
            <param name="yieldReturnStatement">The yield return statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.IAddressableExpression)">
            <summary>
            Visits the specified addressable expression.
            </summary>
            <param name="addressableExpression">The addressable expression.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.IBlockStatement)">
            <summary>
            Visits the specified block statement.
            </summary>
            <param name="blockStatement">The block statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.ICatchClause)">
            <summary>
            Visits the specified catch clause.
            </summary>
            <param name="catchClause">The catch clause.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(System.Collections.Generic.List{Microsoft.Cci.ICatchClause})">
            <summary>
            Visits the specified catch clauses.
            </summary>
            <param name="catchClauses">The catch clauses.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.ICompileTimeConstant)">
            <summary>
            Visits the specified compile time constant.
            </summary>
            <param name="compileTimeConstant">The compile time constant.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.IExpression)">
            <summary>
            Visits the specified expression.
            </summary>
            <param name="expression">The expression.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.IStatement)">
            <summary>
            Visits the specified statement.
            </summary>
            <param name="statement">The statement.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(System.Collections.Generic.List{Microsoft.Cci.IStatement})">
            <summary>
            Visits the specified statements.
            </summary>
            <param name="statements">The statements.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.ISwitchCase)">
            <summary>
            Visits the specified switch case.
            </summary>
            <param name="switchCase">The switch case.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(System.Collections.Generic.List{Microsoft.Cci.ISwitchCase})">
            <summary>
            Visits the specified switch cases.
            </summary>
            <param name="switchCases">The switch cases.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.Visit(Microsoft.Cci.ITargetExpression)">
            <summary>
            Visits the specified target expression.
            </summary>
            <param name="targetExpression">The target expression.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IAddition)">
            <summary>
            Visits the specified addition.
            </summary>
            <param name="addition">The addition.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IAddressableExpression)">
            <summary>
            Visits the specified addressable expression.
            </summary>
            <param name="addressableExpression">The addressable expression.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IAddressDereference)">
            <summary>
            Visits the specified address dereference.
            </summary>
            <param name="addressDereference">The address dereference.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IAddressOf)">
            <summary>
            Visits the specified address of.
            </summary>
            <param name="addressOf">The address of.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IAnonymousDelegate)">
            <summary>
            Visits the specified anonymous method.
            </summary>
            <param name="anonymousMethod">The anonymous method.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IArrayIndexer)">
            <summary>
            Visits the specified array indexer.
            </summary>
            <param name="arrayIndexer">The array indexer.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IAssertStatement)">
            <summary>
            Visits the specified assert statement.
            </summary>
            <param name="assertStatement">The assert statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IAssignment)">
            <summary>
            Visits the specified assignment.
            </summary>
            <param name="assignment">The assignment.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IAssumeStatement)">
            <summary>
            Visits the specified assume statement.
            </summary>
            <param name="assumeStatement">The assume statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IBaseClassReference)">
            <summary>
            Visits the specified base class reference.
            </summary>
            <param name="baseClassReference">The base class reference.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IBitwiseAnd)">
            <summary>
            Visits the specified bitwise and.
            </summary>
            <param name="bitwiseAnd">The bitwise and.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IBitwiseOr)">
            <summary>
            Visits the specified bitwise or.
            </summary>
            <param name="bitwiseOr">The bitwise or.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IBlockExpression)">
            <summary>
            Visits the specified block expression.
            </summary>
            <param name="blockExpression">The block expression.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IBlockStatement)">
            <summary>
            Visits the specified block.
            </summary>
            <param name="block">The block.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IBreakStatement)">
            <summary>
            Visits the specified break statement.
            </summary>
            <param name="breakStatement">The break statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IBoundExpression)">
            <summary>
            Visits the specified bound expression.
            </summary>
            <param name="boundExpression">The bound expression.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.ICastIfPossible)">
            <summary>
            Visits the specified cast if possible.
            </summary>
            <param name="castIfPossible">The cast if possible.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.ICheckIfInstance)">
            <summary>
            Visits the specified check if instance.
            </summary>
            <param name="checkIfInstance">The check if instance.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.ICompileTimeConstant)">
            <summary>
            Visits the specified constant.
            </summary>
            <param name="constant">The constant.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IConversion)">
            <summary>
            Visits the specified conversion.
            </summary>
            <param name="conversion">The conversion.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IConditional)">
            <summary>
            Visits the specified conditional.
            </summary>
            <param name="conditional">The conditional.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IConditionalStatement)">
            <summary>
            Visits the specified conditional statement.
            </summary>
            <param name="conditionalStatement">The conditional statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IContinueStatement)">
            <summary>
            Visits the specified continue statement.
            </summary>
            <param name="continueStatement">The continue statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.ICreateArray)">
            <summary>
            Visits the specified create array.
            </summary>
            <param name="createArray">The create array.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.ICreateDelegateInstance)">
            <summary>
            Visits the specified create delegate instance.
            </summary>
            <param name="createDelegateInstance">The create delegate instance.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.ICreateObjectInstance)">
            <summary>
            Visits the specified create object instance.
            </summary>
            <param name="createObjectInstance">The create object instance.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IDebuggerBreakStatement)">
            <summary>
            Visits the specified debugger break statement.
            </summary>
            <param name="debuggerBreakStatement">The debugger break statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IDefaultValue)">
            <summary>
            Visits the specified default value.
            </summary>
            <param name="defaultValue">The default value.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IDivision)">
            <summary>
            Visits the specified division.
            </summary>
            <param name="division">The division.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IDoUntilStatement)">
            <summary>
            Visits the specified do until statement.
            </summary>
            <param name="doUntilStatement">The do until statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IEmptyStatement)">
            <summary>
            Visits the specified empty statement.
            </summary>
            <param name="emptyStatement">The empty statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IEquality)">
            <summary>
            Visits the specified equality.
            </summary>
            <param name="equality">The equality.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IExclusiveOr)">
            <summary>
            Visits the specified exclusive or.
            </summary>
            <param name="exclusiveOr">The exclusive or.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IExpression)">
            <summary>
            Visits the specified expression.
            </summary>
            <param name="expression">The expression.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IExpressionStatement)">
            <summary>
            Visits the specified expression statement.
            </summary>
            <param name="expressionStatement">The expression statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IForEachStatement)">
            <summary>
            Visits the specified for each statement.
            </summary>
            <param name="forEachStatement">For each statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IForStatement)">
            <summary>
            Visits the specified for statement.
            </summary>
            <param name="forStatement">For statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IGotoStatement)">
            <summary>
            Visits the specified goto statement.
            </summary>
            <param name="gotoStatement">The goto statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IGotoSwitchCaseStatement)">
            <summary>
            Visits the specified goto switch case statement.
            </summary>
            <param name="gotoSwitchCaseStatement">The goto switch case statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IGetTypeOfTypedReference)">
            <summary>
            Visits the specified get type of typed reference.
            </summary>
            <param name="getTypeOfTypedReference">The get type of typed reference.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IGetValueOfTypedReference)">
            <summary>
            Visits the specified get value of typed reference.
            </summary>
            <param name="getValueOfTypedReference">The get value of typed reference.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IGreaterThan)">
            <summary>
            Visits the specified greater than.
            </summary>
            <param name="greaterThan">The greater than.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IGreaterThanOrEqual)">
            <summary>
            Visits the specified greater than or equal.
            </summary>
            <param name="greaterThanOrEqual">The greater than or equal.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.ILabeledStatement)">
            <summary>
            Visits the specified labeled statement.
            </summary>
            <param name="labeledStatement">The labeled statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.ILeftShift)">
            <summary>
            Visits the specified left shift.
            </summary>
            <param name="leftShift">The left shift.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.ILessThan)">
            <summary>
            Visits the specified less than.
            </summary>
            <param name="lessThan">The less than.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.ILessThanOrEqual)">
            <summary>
            Visits the specified less than or equal.
            </summary>
            <param name="lessThanOrEqual">The less than or equal.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.ILocalDeclarationStatement)">
            <summary>
            Visits the specified local declaration statement.
            </summary>
            <param name="localDeclarationStatement">The local declaration statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.ILockStatement)">
            <summary>
            Visits the specified lock statement.
            </summary>
            <param name="lockStatement">The lock statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.ILogicalNot)">
            <summary>
            Visits the specified logical not.
            </summary>
            <param name="logicalNot">The logical not.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IMakeTypedReference)">
            <summary>
            Visits the specified make typed reference.
            </summary>
            <param name="makeTypedReference">The make typed reference.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IMethodCall)">
            <summary>
            Visits the specified method call.
            </summary>
            <param name="methodCall">The method call.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IModulus)">
            <summary>
            Visits the specified modulus.
            </summary>
            <param name="modulus">The modulus.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IMultiplication)">
            <summary>
            Visits the specified multiplication.
            </summary>
            <param name="multiplication">The multiplication.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.INamedArgument)">
            <summary>
            Visits the specified named argument.
            </summary>
            <param name="namedArgument">The named argument.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.INotEquality)">
            <summary>
            Visits the specified not equality.
            </summary>
            <param name="notEquality">The not equality.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IOldValue)">
            <summary>
            Visits the specified old value.
            </summary>
            <param name="oldValue">The old value.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IOnesComplement)">
            <summary>
            Visits the specified ones complement.
            </summary>
            <param name="onesComplement">The ones complement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IOutArgument)">
            <summary>
            Visits the specified out argument.
            </summary>
            <param name="outArgument">The out argument.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IPointerCall)">
            <summary>
            Visits the specified pointer call.
            </summary>
            <param name="pointerCall">The pointer call.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IRefArgument)">
            <summary>
            Visits the specified ref argument.
            </summary>
            <param name="refArgument">The ref argument.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IResourceUseStatement)">
            <summary>
            Visits the specified resource use statement.
            </summary>
            <param name="resourceUseStatement">The resource use statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IReturnValue)">
            <summary>
            Visits the specified return value.
            </summary>
            <param name="returnValue">The return value.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IRethrowStatement)">
            <summary>
            Visits the specified rethrow statement.
            </summary>
            <param name="rethrowStatement">The rethrow statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IReturnStatement)">
            <summary>
            Visits the specified return statement.
            </summary>
            <param name="returnStatement">The return statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IRightShift)">
            <summary>
            Visits the specified right shift.
            </summary>
            <param name="rightShift">The right shift.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IRuntimeArgumentHandleExpression)">
            <summary>
            Visits the specified runtime argument handle expression.
            </summary>
            <param name="runtimeArgumentHandleExpression">The runtime argument handle expression.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.ISizeOf)">
            <summary>
            Visits the specified size of.
            </summary>
            <param name="sizeOf">The size of.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IStackArrayCreate)">
            <summary>
            Visits the specified stack array create.
            </summary>
            <param name="stackArrayCreate">The stack array create.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.ISubtraction)">
            <summary>
            Visits the specified subtraction.
            </summary>
            <param name="subtraction">The subtraction.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.ISwitchStatement)">
            <summary>
            Visits the specified switch statement.
            </summary>
            <param name="switchStatement">The switch statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.ITargetExpression)">
            <summary>
            Visits the specified target expression.
            </summary>
            <param name="targetExpression">The target expression.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IThisReference)">
            <summary>
            Visits the specified this reference.
            </summary>
            <param name="thisReference">The this reference.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IThrowStatement)">
            <summary>
            Visits the specified throw statement.
            </summary>
            <param name="throwStatement">The throw statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.ITryCatchFinallyStatement)">
            <summary>
            Visits the specified try catch filter finally statement.
            </summary>
            <param name="tryCatchFilterFinallyStatement">The try catch filter finally statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.ITokenOf)">
            <summary>
            Visits the specified token of.
            </summary>
            <param name="tokenOf">The token of.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.ITypeOf)">
            <summary>
            Visits the specified type of.
            </summary>
            <param name="typeOf">The type of.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IUnaryNegation)">
            <summary>
            Visits the specified unary negation.
            </summary>
            <param name="unaryNegation">The unary negation.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IUnaryPlus)">
            <summary>
            Visits the specified unary plus.
            </summary>
            <param name="unaryPlus">The unary plus.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IVectorLength)">
            <summary>
            Visits the specified vector length.
            </summary>
            <param name="vectorLength">Length of the vector.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IWhileDoStatement)">
            <summary>
            Visits the specified while do statement.
            </summary>
            <param name="whileDoStatement">The while do statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IYieldBreakStatement)">
            <summary>
            Visits the specified yield break statement.
            </summary>
            <param name="yieldBreakStatement">The yield break statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeMutator.CreateMutableType.Visit(Microsoft.Cci.IYieldReturnStatement)">
            <summary>
            Visits the specified yield return statement.
            </summary>
            <param name="yieldReturnStatement">The yield return statement.</param>
        </member>
        <member name="F:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.contractProvider">
            <summary>
            An object that associates contracts, such as preconditions and postconditions, with methods, types and loops.
            IL to check this contracts will be generated along with IL to evaluate the block of statements. May be null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.#ctor(Microsoft.Cci.IMetadataHost)">
            <summary>
            Allocates a mutator that uses the inherited methods from MetadataMutator to walk everything down to the method body level,
            then takes over and define Visit methods for all of the structures in the code model that pertain to method bodies.
            The mutator also visits and mutates the associated code contracts and establishes associations with new copies.
            </summary>
            <param name="host">An object representing the application that is hosting this mutator. It is used to obtain access to some global
            objects and services such as the shared name table and the table for interning references.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.#ctor(Microsoft.Cci.IMetadataHost,System.Boolean)">
            <summary>
            Allocates a mutator that uses the inherited methods from MetadataMutator to walk everything down to the method body level,
            then takes over and define Visit methods for all of the structures in the code model that pertain to method bodies.
            The mutator also visits and mutates the associated code contracts and establishes associations with new copies.
            </summary>
            <param name="host">An object representing the application that is hosting this mutator. It is used to obtain access to some global
            objects and services such as the shared name table and the table for interning references.</param>
            <param name="copyOnlyIfNotAlreadyMutable">True if the mutator should try and perform mutations in place, rather than mutating new copies.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.#ctor(Microsoft.Cci.IMetadataHost,Microsoft.Cci.ISourceLocationProvider,Microsoft.Cci.Contracts.ContractProvider)">
            <summary>
            
            </summary>
            <param name="host">An object representing the application that is hosting this mutator. It is used to obtain access to some global
            objects and services such as the shared name table and the table for interning references.</param>
            <param name="sourceLocationProvider">An object that can map the ILocation objects found in a block of statements to IPrimarySourceLocation objects. May be null.</param>
            <param name="contractProvider">An object that associates contracts, such as preconditions and postconditions, with methods, types and loops.
            IL to check this contracts will be generated along with IL to evaluate the block of statements. May be null.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.#ctor(Microsoft.Cci.IMetadataHost,System.Boolean,Microsoft.Cci.ISourceLocationProvider,Microsoft.Cci.Contracts.ContractProvider)">
            <summary>
            
            </summary>
            <param name="host">An object representing the application that is hosting this mutator. It is used to obtain access to some global
            objects and services such as the shared name table and the table for interning references.</param>
            <param name="copyOnlyIfNotAlreadyMutable"></param>
            <param name="sourceLocationProvider">An object that can map the ILocation objects found in a block of statements to IPrimarySourceLocation objects. May be null.</param>
            <param name="contractProvider">An object that associates contracts, such as preconditions and postconditions, with methods, types and loops.
            IL to check this contracts will be generated along with IL to evaluate the block of statements. May be null.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.#ctor(Microsoft.Cci.MutableCodeModel.CodeAndContractMutator)">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator"/> class.
            </summary>
            <param name="template">The template.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.Visit(System.Collections.Generic.List{Microsoft.Cci.IAddressableExpression})">
            <summary>
            Visits the specified addressable expressions.
            </summary>
            <param name="addressableExpressions">The addressable expressions.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.Visit(System.Collections.Generic.IEnumerable{System.Collections.Generic.IEnumerable{Microsoft.Cci.IExpression}})">
            <summary>
            Visits the specified triggers.
            </summary>
            <param name="triggers">The triggers.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.Visit(Microsoft.Cci.IExpression)">
            <summary>
            Visits the specified expression.
            </summary>
            <param name="expression">The expression.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.Visit(Microsoft.Cci.Contracts.ILoopContract)">
            <summary>
            Visits the specified loop contract.
            </summary>
            <param name="loopContract">The loop contract.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.Visit(System.Collections.Generic.List{Microsoft.Cci.Contracts.ILoopInvariant})">
            <summary>
            Visits the specified loop invariants.
            </summary>
            <param name="loopInvariants">The loop invariants.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.Visit(Microsoft.Cci.Contracts.ILoopInvariant)">
            <summary>
            Visits the specified loop invariant.
            </summary>
            <param name="loopInvariant">The loop invariant.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.Visit(Microsoft.Cci.IMethodDefinition)">
            <summary>
            Visits the specified method definition.
            </summary>
            <param name="methodDefinition">The method definition.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.Visit(Microsoft.Cci.IGlobalMethodDefinition)">
            <summary>
            Visits the specified global method definition.
            </summary>
            <param name="globalMethodDefinition">The global method definition.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.Visit(Microsoft.Cci.MutableCodeModel.MethodDefinition)">
            <summary>
            Visits the specified method definition.
            </summary>
            <param name="methodDefinition">The method definition.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.Visit(Microsoft.Cci.IMethodBody)">
            <summary>
            Visits the specified method body.
            </summary>
            <param name="methodBody">The method body.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.Visit(Microsoft.Cci.Contracts.IMethodContract)">
            <summary>
            Visits the specified method contract.
            </summary>
            <param name="methodContract">The method contract.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.Visit(System.Collections.Generic.List{Microsoft.Cci.Contracts.IPostcondition})">
            <summary>
            Visits the specified post conditions.
            </summary>
            <param name="postConditions">The post conditions.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.Visit(Microsoft.Cci.Contracts.IPostcondition)">
            <summary>
            Visits the specified post condition.
            </summary>
            <param name="postCondition">The post condition.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.Visit(System.Collections.Generic.List{Microsoft.Cci.Contracts.IPrecondition})">
            <summary>
            Visits the specified preconditions.
            </summary>
            <param name="preconditions">The preconditions.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.Visit(Microsoft.Cci.Contracts.IPrecondition)">
            <summary>
            Visits the specified precondition.
            </summary>
            <param name="precondition">The precondition.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.Visit(Microsoft.Cci.IStatement)">
            <summary>
            Visits the specified statement.
            </summary>
            <param name="statement">The statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.Visit(System.Collections.Generic.List{Microsoft.Cci.Contracts.IThrownException})">
            <summary>
            Visits the specified thrown exceptions.
            </summary>
            <param name="thrownExceptions">The thrown exceptions.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.Visit(Microsoft.Cci.Contracts.IThrownException)">
            <summary>
            Visits the specified thrown exception.
            </summary>
            <param name="thrownException">The thrown exception.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.Visit(Microsoft.Cci.Contracts.ITypeContract)">
            <summary>
            Visits the specified type contract.
            </summary>
            <param name="typeContract">The type contract.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.Visit(System.Collections.Generic.List{Microsoft.Cci.Contracts.ITypeInvariant})">
            <summary>
            Visits the specified type invariants.
            </summary>
            <param name="typeInvariants">The type invariants.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.Visit(Microsoft.Cci.Contracts.ITypeInvariant)">
            <summary>
            Visits the specified type invariant.
            </summary>
            <param name="typeInvariant">The type invariant.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.Visit(Microsoft.Cci.INamespaceTypeDefinition)">
            <summary>
            Visits the specified namespace type definition.
            </summary>
            <param name="namespaceTypeDefinition">The namespace type definition.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CodeAndContractMutator.Visit(Microsoft.Cci.INestedTypeDefinition)">
            <summary>
            Visits the specified nested type definition.
            </summary>
            <param name="nestedTypeDefinition">The nested type definition.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyCodeAndContractMutator.#ctor(Microsoft.Cci.IMetadataHost)">
            <summary>
            
            </summary>
            <param name="host"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyCodeAndContractMutator.#ctor(Microsoft.Cci.IMetadataHost,System.Boolean)">
            <summary>
            
            </summary>
            <param name="host"></param>
            <param name="copyOnlyIfNotAlreadyMutable"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyCodeAndContractMutator.#ctor(Microsoft.Cci.IMetadataHost,Microsoft.Cci.ISourceLocationProvider,Microsoft.Cci.Contracts.ContractProvider)">
            <summary>
            
            </summary>
            <param name="host">An object representing the application that is hosting this mutator. It is used to obtain access to some global
            objects and services such as the shared name table and the table for interning references.</param>
            <param name="sourceLocationProvider">An object that can map the ILocation objects found in a block of statements to IPrimarySourceLocation objects. May be null.</param>
            <param name="contractProvider">An object that associates contracts, such as preconditions and postconditions, with methods, types and loops.
            IL to check this contracts will be generated along with IL to evaluate the block of statements. May be null.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyCodeAndContractMutator.#ctor(Microsoft.Cci.IMetadataHost,System.Boolean,Microsoft.Cci.ISourceLocationProvider,Microsoft.Cci.Contracts.ContractProvider)">
            <summary>
            
            </summary>
            <param name="host"></param>
            <param name="copyOnlyIfNotAlreadyMutable"></param>
            <param name="sourceLocationProvider"></param>
            <param name="contractProvider"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyCodeAndContractMutator.Visit(Microsoft.Cci.IFieldReference)">
            <summary>
            Visits the specified field reference.
            </summary>
            <param name="fieldReference">The field reference.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyCodeAndContractMutator.Visit(Microsoft.Cci.IMethodReference)">
            <summary>
            Visits the specified method reference.
            </summary>
            <param name="methodReference">The method reference.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyCodeAndContractMutator.Visit(Microsoft.Cci.ITypeReference)">
            <summary>
            Visits the specified type reference.
            </summary>
            <param name="typeReference">The type reference.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyNormalizer.#ctor(Microsoft.Cci.IMetadataHost,Microsoft.Cci.ISourceLocationProvider,Microsoft.Cci.Contracts.ContractProvider)">
            <summary>
            Initializes a visitor that takes a method body and rewrites it so that high level constructs such as anonymous delegates and yield statements
            are turned into helper classes and methods, thus making it easier to generate IL from the CodeModel.
            </summary>
            <param name="host">An object representing the application that is hosting the converter. It is used to obtain access to some global
            objects and services such as the shared name table and the table for interning references.</param>
            <param name="sourceLocationProvider">An object that can map the ILocation objects found in a block of statements to IPrimarySourceLocation objects. May be null.</param>
            <param name="contractProvider">An object that associates contracts, such as preconditions and postconditions, with methods, types and loops.
            IL to check this contracts will be generated along with IL to evaluate the block of statements. May be null.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyNormalizer.GetNormalizedSourceMethodBodyFor(Microsoft.Cci.IMethodDefinition,Microsoft.Cci.IBlockStatement)">
            <summary>
            
            </summary>
            <param name="method"></param>
            <param name="body"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyNormalizer.GetNormalizedIteratorBody(Microsoft.Cci.IBlockStatement,Microsoft.Cci.IMethodDefinition,Microsoft.Cci.Contracts.IMethodContract,System.Collections.Generic.List{Microsoft.Cci.ITypeDefinition})">
            <summary>
            Given the body of an iterator method <paramref name="body"/>, this method try to compile its body.
            
            Specifically, this method:
            1) creates a closure class that implements: IEnumerator, generic and nongeneric versions,
            IEnumerable, generic and nongeneric versions, and IDisposable. The generic versions of IEnumerator
            and IEnumerator is instantiated by a type T that is used to instantiate the return type of
            the iterator method. The members of the closure class include:
            1.1) fields corresponding to every parameter and local variables.
            1.2) fields that manages the state machine: __current and __state, and a currentThreadId field.
            1.3) a constructor that takes one int argument.  
            1.4) methods that are required by the interfaces of the closure class: MoveNext, Reset,
            GetEnumerator, Current getter, and DisposeMethod. 
            2) creates the new body of the iterator method: which returns a local variable that holds a new object of the closure class, with the fields of 
            the closure class that correspond to the parameters (including the self parameter if applicable)
            initialized. 
            3) transforms the body, which should now not contain any annonymous delegates, into the body of the 
            MoveNext method of the closure class. This includes:
            3.1) every local/parameter reference -> this.field reference
            3.2) every yield return or yield break -> assignment to current and return true or false, respectively.
            3.3) a switch statement for the state machine, with state values corresponds to each yield return/yield break
            3.4) a try block if an iterator is created in the body. 
            4) If the iterator method has a type parameter, so will the closure class. Make sure in the closure class only
            the right type parameter is referenced. 
            </summary>
            <param name="body">The method body to be normalized</param>
            <param name="method">Method definition that owns the body</param>
            <param name="methodContract">The contract of this method</param>
            <param name="privateHelperTypes">List of helper types generated when compiling <paramref name="method">method</paramref>/></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyNormalizer.Visit(Microsoft.Cci.IGlobalMethodDefinition)">
            <summary>
            Visits the specified global method definition.
            </summary>
            <param name="globalMethodDefinition">The global method definition.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyNormalizer.Visit(System.Collections.Generic.List{Microsoft.Cci.IMethodDefinition})">
            <summary>
            Visits the specified method definitions.
            </summary>
            <param name="methodDefinitions">The method definitions.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyNormalizer.Visit(System.Collections.Generic.List{Microsoft.Cci.INestedTypeDefinition})">
            <summary>
            Visits the specified nested type definitions.
            </summary>
            <param name="nestedTypeDefinitions">The nested type definitions.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyNormalizer.Visit(Microsoft.Cci.IMethodBody)">
            <summary>
            Visits the specified method body.
            </summary>
            <param name="methodBody">The method body.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyNormalizer.Visit(Microsoft.Cci.MutableCodeModel.BlockStatement)">
            <summary>
            Visits the specified block statement.
            </summary>
            <param name="blockStatement">The block statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyNormalizer.Visit(Microsoft.Cci.IMethodDefinition)">
            <summary>
            Visits the specified method definition.
            </summary>
            <param name="methodDefinition">The method definition.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyNormalizer.Visit(Microsoft.Cci.Contracts.IMethodContract)">
            <summary>
            Visits the specified method contract.
            </summary>
            <param name="methodContract">The method contract.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyNormalizer.Visit(Microsoft.Cci.MutableCodeModel.MethodDefinition)">
            <summary>
            Visits the specified method definition.
            </summary>
            <param name="methodDefinition">The method definition.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyNormalizer.Visit(Microsoft.Cci.MutableCodeModel.AnonymousDelegate)">
            <summary>
            Visits the specified anonymous delegate.
            </summary>
            <param name="anonymousDelegate">The anonymous delegate.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyNormalizer.Visit(Microsoft.Cci.MutableCodeModel.LocalDeclarationStatement)">
            <summary>
            Visits the specified local declaration statement.
            </summary>
            <param name="localDeclarationStatement">The local declaration statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyNormalizer.Visit(Microsoft.Cci.MutableCodeModel.TargetExpression)">
            <summary>
            Visits the specified target expression.
            </summary>
            <param name="targetExpression">The target expression.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyNormalizer.Visit(Microsoft.Cci.MutableCodeModel.AddressableExpression)">
            <summary>
            Visits the specified addressable expression.
            </summary>
            <param name="addressableExpression">The addressable expression.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyNormalizer.Visit(Microsoft.Cci.MutableCodeModel.BoundExpression)">
            <summary>
            Visits the specified bound expression.
            </summary>
            <param name="boundExpression">The bound expression.</param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.MethodBodyNormalizer.IsIteratorBody">
            <summary>
            Returns true if the last call to GetNormalizedSourceMethodBodyFor visited a body that contains a yield statement.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator">
            <summary>
            Create closure class, including all its members for an iterator method and rewrite the body of the iterator method.
            
            Specifically, we:
            1) creates a closure class that implements: IEnumerator, generic and nongeneric versions,
            IEnumerable, generic and nongeneric versions, and IDisposable. The generic versions of IEnumerator
            and IEnumerator is instantiated by a type T that is used to instantiate the return type of
            the iterator method. The members of the closure class include:
            1.1) fields corresponding to every parameter and local variables.
            1.2) fields that manages the state machine: __current and __state, and a currentThreadId field.
            1.3) a constructor that takes one int argument.  
            1.4) methods that are required by the interfaces of the closure class: MoveNext, Reset,
            GetEnumerator, Current getter, and DisposeMethod. 
            2) creates the new body of the iterator method: which returns a local variable that holds a new object of the closure class, with the fields of 
            the closure class that correspond to the parameters (including the self parameter if applicable)
            initialized. 
            3) transforms the body, which should now not contain any annonymous delegates, into the body of the 
            MoveNext method of the closure class. This includes:
            3.1) every local/parameter reference -> this.field reference
            3.2) every yield return or yield break -> assignment to current and return true or false, respectively.
            3.3) a switch statement for the state machine, with state values corresponds to each yield return/yield break.
            3.4) try statement for foreach if the iterator method body uses one. 
            4) If the iterator method has a type parameter, so will the closure class. Make sure in the closure class only
            the right type parameter is referenced. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.#ctor(System.Collections.Generic.Dictionary{System.Object,Microsoft.Cci.MutableCodeModel.BoundField},System.Collections.Generic.Dictionary{Microsoft.Cci.IBlockStatement,System.UInt32},Microsoft.Cci.IMethodDefinition,System.Collections.Generic.List{Microsoft.Cci.ITypeDefinition},Microsoft.Cci.IMetadataHost,Microsoft.Cci.ISourceLocationProvider,Microsoft.Cci.Contracts.ContractProvider)">
            <summary>
            Create closure class, including all its members for an iterator method and rewrite the body of the iterator method.
            
            Specifically, we
            1) creates a closure class that implements: IEnumerator, generic and nongeneric versions,
            IEnumerable, generic and nongeneric versions, and IDisposable. The generic versions of IEnumerator
            and IEnumerator is instantiated by a type T that is used to instantiate the return type of
            the iterator method. The members of the closure class include:
            1.1) fields corresponding to every parameter and local variables.
            1.2) fields that manages the state machine: __current and __state, and a currentThreadId field.
            1.3) a constructor that takes one int argument.  
            1.4) methods that are required by the interfaces of the closure class: MoveNext, Reset,
            GetEnumerator, Current getter, and DisposeMethod. 
            2) creates the new body of the iterator method: which returns a local variable that holds a new object of the closure class, with the fields of 
            the closure class that correspond to the parameters (including the self parameter if applicable)
            initialized. 
            3) transforms the body, which should now not contain any annonymous delegates, into the body of the 
            MoveNext method of the closure class. This includes:
            3.1) every local/parameter reference -> this.field reference
            3.2) every yield return or yield break -> assignment to current and return true or false, respectively.
            3.3) a switch statement for the state machine, with state values corresponds to each yield return/yield break.
            3.4) try statement for foreach if the iterator method body uses one. 
            4) If the iterator method has a type parameter, so will the closure class. Make sure in the closure class only
            the right type parameter is referenced. 
            </summary>
        </member>
        <member name="F:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.method">
            <summary>
            Iterator method.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.privateHelperTypes">
            <summary>
            List of helper types generated during compilation. We shall add the iterator closure to the list. 
            </summary>
        </member>
        <member name="F:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.allLocals">
            <summary>
            List of all locals in the body of iterator method.
            </summary>
        </member>
        <member name="F:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.genericTypeParameterMapping">
            <summary>
            Mapping between method type parameters (of the iterator method) and generic type parameters (of the closure class).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.CompileIterator(Microsoft.Cci.IBlockStatement)">
            <summary>
            Compile the method body, represented by <paramref name="block"/>. It creates the closure class and all its members
            and creates a new body for the iterator method. 
            </summary>
        </member>
        <member name="F:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.debuggerHiddenCtor">
            <summary>
            Constructor of the DebuggerHiddenAttribute.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.CreateNewIteratorMethodBody(Microsoft.Cci.MutableCodeModel.BlockStatement,Microsoft.Cci.MutableCodeModel.IteratorClosureInformation)">
            <summary>
            Create the new body of the iterator method. 
            </summary>
            <remarks>
            Pseudo code:
            iteratorClosureLocal = new Closure(-2);
            iteratorClosureLocal.field = parameter; // for each parameter including this. 
            return iteratorClosureLocal;
            </remarks>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.GetLocalOrParameterType(System.Object)">
            <summary>
            Return the type of the parameter (excluding this) or local variable represented by <paramref name="obj"/>.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.GetClosureTypeReferenceFromIterator(Microsoft.Cci.MutableCodeModel.IteratorClosureInformation)">
            <summary>
            Instantiate the closure class using the generic method parameters of the iterator method, if any. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.GetFieldReference(Microsoft.Cci.MutableCodeModel.IteratorClosureInformation,Microsoft.Cci.IFieldDefinition)">
            <summary>
            Instantiate a closure class field using the generic method parameters of the iterator method, if any. 
            Code Review: cache the result of GetClosureTypeReferenceFromIterator.
            </summary>
            <param name="iteratorClosure"></param>
            <param name="fieldDefinition"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.GetMethodReference(Microsoft.Cci.MutableCodeModel.IteratorClosureInformation,Microsoft.Cci.IMethodDefinition)">
            <summary>
            Instantiate a closure class method using the generic method parameters of the iterator method, if any. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.CreateIteratorClosure(Microsoft.Cci.MutableCodeModel.BlockStatement)">
            <summary>
            Create the iterator closure class and add it to the private helper types list. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.CreateIteratorClosureConstructor(Microsoft.Cci.MutableCodeModel.IteratorClosureInformation)">
            <summary>
            Create the constuctor of the iterator class. The pseudo-code is: 
            
            Ctor(int state) {
              object.Ctor();
              this.state = state;
              this.threadid = Thread.CurrentThread.ManagedThreadId;
            }
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.CreateIteratorClosureMethods(Microsoft.Cci.MutableCodeModel.IteratorClosureInformation,Microsoft.Cci.MutableCodeModel.BlockStatement)">
            <summary>
            Create the methods of the iterator closure. 
            </summary>
            <param name="iteratorClosure"></param>
            <param name="blockStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.CreateMoveNextMethod(Microsoft.Cci.MutableCodeModel.IteratorClosureInformation,Microsoft.Cci.MutableCodeModel.BlockStatement)">
            <summary>
            Create the MoveNext method. This method sets up metadata and calls TranslateIteratorMethodBodyToMoveNextBody
            to compile the body. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.TranslateIteratorMethodBodyToMoveNextBody(Microsoft.Cci.MutableCodeModel.IteratorClosureInformation,Microsoft.Cci.MutableCodeModel.BlockStatement)">
            <summary>
            Create method body of the MoveNext from the body of the iterator method.
            
            First we substitute the locals/parameters with closure fields, and generic method type parameter of the iterator
            method with generic type parameters of the closure class (if any). 
            Then, we build the state machine. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.BuildStateMachine(Microsoft.Cci.MutableCodeModel.IteratorClosureInformation,Microsoft.Cci.MutableCodeModel.BlockStatement,System.Collections.Generic.Dictionary{System.Int32,Microsoft.Cci.ILabeledStatement})">
            <summary>
            Build the state machine. 
            
            We start from state 0. For each yield return, we assign a unique state, which we call continueing state. For a yield return 
            assigned with state x, we move the state machine from the previous state to x. Whenever we see a yield break, we transit
            the state to -1. 
            
            When we return from state x, we jump to a label that is inserted right after the previous yield return (that is assigned with state x). 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.CreateResetMethod(Microsoft.Cci.MutableCodeModel.IteratorClosureInformation)">
            <summary>
            Create the Reset method. Like in CSC, this method contains nothing. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.CreateDisposeMethod(Microsoft.Cci.MutableCodeModel.IteratorClosureInformation)">
            <summary>
            DisposeMethod method. Currently the method body does nothing. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.CreateGetEnumeratorMethodGeneric(Microsoft.Cci.MutableCodeModel.IteratorClosureInformation)">
            <summary>
            Create the generic version of the GetEnumerator for the iterator closure class. 
            </summary>
            <param name="iteratorClosure"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.GetBodyOfGenericGetEnumerator(Microsoft.Cci.MutableCodeModel.IteratorClosureInformation)">
            <summary>
            Create the body of the generic version of GetEnumerator for the iterator closure class.
            
            The body's pseudo code. 
            {
              if (Thread.CurrentThread.ManagedThreadId == this.l_initialThreadId AND this.state == -2) {
                this.state = 0;
                return this;
              }
              else {
                return a new copy of the iterator instance with state being zero.
              }
            }
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.CreateGetEnumeratorMethodNonGeneric(Microsoft.Cci.MutableCodeModel.IteratorClosureInformation)">
            <summary>
            Create the non-generic version of GetEnumerator and add it to the member list of iterator closure class. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.CreateIteratorClosureProperties(Microsoft.Cci.MutableCodeModel.IteratorClosureInformation)">
            <summary>
            Create two properties: object Current and T Current as the closure class implements both the 
            generic and non-generic version of ienumerator. 
            
            Current Implementation generates getters, but not the property.
            </summary>
            <param name="iteratorClosure">Information about the closure created when compiling the current iterator method</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.CreateIteratorClosureFields(Microsoft.Cci.MutableCodeModel.IteratorClosureInformation)">
            <summary>
            Create fields for the closure class, which include fields for captured variables and fields for maintaining the state machine.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.GetClosureEnumeratorTypeArguments(Microsoft.Cci.ITypeReference)">
            <summary>
            Find the type argument of the IEnumerable generic type implemented by a <paramref name="methodTypeReference"/>, or 
            System.Object if <paramref name="methodTypeReference"/> implements the non-generic IEnumerable.
            </summary>
            <param name="methodTypeReference">A type that must implement IEnumerable, or IEnumerable[T]. </param>
            <returns>An enumeration of ITypeReference of length 1. </returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.Visit(Microsoft.Cci.ILocalDeclarationStatement)">
            <summary>
            Collect locals declared in the body. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.Visit(Microsoft.Cci.ITargetExpression)">
            <summary>
            Collect locals in TargetExpression
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.FieldForCapturedLocalOrParameter">
            <summary>
            Mapping between parameters and locals to the fields of the closure class. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.CompilerGeneratedCtor">
            <summary>
            Constructor of the CompilerGeneratedAttribute.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.ObjectCtor">
            <summary>
            Constructor of the constructor of the Object class. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.ThreadDotManagedThreadId">
            <summary>
            Property definition of Thread.ManagedThreadId
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureGenerator.ThreadDotCurrentThread">
            <summary>
            An Expression that represents Thread.CurrentThread
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.MethodBodyCodeMutator">
            <summary>
            Use this as a base class when you define a code mutator that mutates ONLY method bodies.
            This class has overrides for Visit(IFieldReference), Visit(IMethodReference), and
            Visit(ITypeReference) that make sure to not modify the references.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyCodeMutator.#ctor(Microsoft.Cci.IMetadataHost)">
            <summary>
            
            </summary>
            <param name="host">An object representing the application that is hosting this mutator. It is used to obtain access to some global
            objects and services such as the shared name table and the table for interning references.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyCodeMutator.#ctor(Microsoft.Cci.IMetadataHost,System.Boolean)">
            <summary>
            
            </summary>
            <param name="host">An object representing the application that is hosting this mutator. It is used to obtain access to some global
            objects and services such as the shared name table and the table for interning references.</param>
            <param name="copyOnlyIfNotAlreadyMutable"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyCodeMutator.#ctor(Microsoft.Cci.IMetadataHost,Microsoft.Cci.ISourceLocationProvider)">
            <summary>
            
            </summary>
            <param name="host">An object representing the application that is hosting this mutator. It is used to obtain access to some global
            objects and services such as the shared name table and the table for interning references.</param>
            <param name="sourceLocationProvider">An object that can map the ILocation objects found in a block of statements to IPrimarySourceLocation objects. May be null.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyCodeMutator.#ctor(Microsoft.Cci.IMetadataHost,System.Boolean,Microsoft.Cci.ISourceLocationProvider)">
            <summary>
            
            </summary>
            <param name="host">An object representing the application that is hosting this mutator. It is used to obtain access to some global
            objects and services such as the shared name table and the table for interning references.</param>
            <param name="copyOnlyIfNotAlreadyMutable"></param>
            <param name="sourceLocationProvider">An object that can map the ILocation objects found in a block of statements to IPrimarySourceLocation objects. May be null.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyCodeMutator.Visit(Microsoft.Cci.IFieldReference)">
            <summary>
            Visits the specified field reference.
            </summary>
            <param name="fieldReference">The field reference.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyCodeMutator.Visit(Microsoft.Cci.IMethodReference)">
            <summary>
            Visits the specified method reference.
            </summary>
            <param name="methodReference">The method reference.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyCodeMutator.Visit(Microsoft.Cci.ITypeReference)">
            <summary>
            Visits the specified type reference.
            </summary>
            <param name="typeReference">The type reference.</param>
            <returns></returns>
        </member>
        <member name="F:Microsoft.Cci.MutableCodeModel.YieldReturnYieldBreakReplacer.iteratorClosure">
            <summary>
            Used in the tranformation of an iterator method body into a MoveNext method body, this class replaces
            yield returns and yield breaks with approppriate assignments to this dot current and return statements. 
            In addition, it inserts a new label statement after each yield return, and associates a unique state 
            number with the label. Such a mapping can be aquired from calling the GetStateEntries method. It is not
            suggested to call the Visit methods directly. 
            </summary>
        </member>
        <member name="F:Microsoft.Cci.MutableCodeModel.YieldReturnYieldBreakReplacer.stateNumber">
            <summary>
            State generator
            </summary>
        </member>
        <member name="F:Microsoft.Cci.MutableCodeModel.YieldReturnYieldBreakReplacer.stateEntries">
            <summary>
            Mapping between state machine state and its target label.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.YieldReturnYieldBreakReplacer.GetStateEntries(Microsoft.Cci.MutableCodeModel.BlockStatement)">
            <summary>
            Compute the mapping between every (starting and continuing) state and their unique entry points. It does so
            by inserting a unique label at the entry points and associate the state with the label. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.YieldReturnYieldBreakReplacer.Visit(Microsoft.Cci.MutableCodeModel.YieldReturnStatement)">
            <summary>
            Replace a (yield return exp)with a new block of the form:
            {
              Fresh_Label:;
              this.current = exp;
              state = Fresh_state;
              return true;
            }
            and associate the newly generated Fresh_state with its entry point: Fresh_label.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.YieldReturnYieldBreakReplacer.Visit(Microsoft.Cci.MutableCodeModel.YieldBreakStatement)">
            <summary>
            Replace a yield break with:
            {
              this.state = -2;
              return;
            }
            </summary>
            <param name="yieldBreakStatement"></param>
            <returns></returns>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.SourceMethodBody">
            <summary>
            A metadata (IL) representation along with a source level representation of the body of a method or of a property/event accessor.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.SourceMethodBody.#ctor(Microsoft.Cci.IMetadataHost,Microsoft.Cci.ISourceLocationProvider,Microsoft.Cci.Contracts.ContractProvider)">
            <summary>
            Allocates an object that provides a metadata (IL) representation along with a source level representation of the body of a method or of a property/event accessor.
            </summary>
            <param name="host">An object representing the application that is hosting this source method body. It is used to obtain access to some global
            objects and services such as the shared name table and the table for interning references.</param>
            <param name="sourceLocationProvider">An object that can map the ILocation objects found in the block of statements to IPrimarySourceLocation objects.  May be null.</param>
            <param name="contractProvider">An object that associates contracts, such as preconditions and postconditions, with methods, types and loops.
            IL to check this contracts will be generated along with IL to evaluate the block of statements. May be null.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.SourceMethodBody.#ctor(Microsoft.Cci.IMetadataHost,Microsoft.Cci.ISourceLocationProvider,Microsoft.Cci.Contracts.ContractProvider,System.Collections.Generic.IDictionary{Microsoft.Cci.IBlockStatement,System.UInt32})">
            <summary>
            Allocates an object that provides a metadata (IL) representation along with a source level representation of the body of a method or of a property/event accessor.
            </summary>
            <param name="host">An object representing the application that is hosting this source method body. It is used to obtain access to some global
            objects and services such as the shared name table and the table for interning references.</param>
            <param name="sourceLocationProvider">An object that can map the ILocation objects found in the block of statements to IPrimarySourceLocation objects.  May be null.</param>
            <param name="contractProvider">An object that associates contracts, such as preconditions and postconditions, with methods, types and loops.
            IL to check this contracts will be generated along with IL to evaluate the block of statements. May be null.</param>
            <param name="iteratorLocalCount">A map that indicates how many iterator locals are present in a given block. Only useful for generated MoveNext methods. May be null.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.SourceMethodBody.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(T) method where T is the most derived object model node interface type implemented by the concrete type
            of the object implementing IDoubleDispatcher. The dispatch method does not invoke Dispatch on any child objects. If child traversal
            is desired, the implementations of the Visit methods should do the subsequent dispatching.
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.SourceMethodBody.GetIteratorScopes">
            <summary>
            Returns zero or more local (block) scopes, each defining an IL range in which an iterator local is defined.
            The scopes are returned by the MoveNext method of the object returned by the iterator method.
            The index of the scope corresponds to the index of the local. Specifically local scope i corresponds
            to the local stored in field &lt;localName&gt;x_i of the class used to store the local values in between
            calls to MoveNext.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.SourceMethodBody.Block">
            <summary>
            The collection of statements making up the body.
            This is produced by either language parser or through decompilation of the Instructions.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.SourceMethodBody.IsNormalized">
            <summary>
            True if the method body does not contain any anonymous delegates or yield statements.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.SourceMethodBody.LocalsAreZeroed">
            <summary>
            True if the locals are initialized by zeroeing the stack upon method entry.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.SourceMethodBody.LocalVariables">
            <summary>
            The local variables of the method.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.SourceMethodBody.MaxStack">
            <summary>
            The maximum number of elements on the evaluation stack during the execution of the method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.SourceMethodBody.MethodDefinition">
            <summary>
            The definition of the method whose body this is.
            If this is the body of an event or property accessor, this will hold the corresponding adder/remover/setter or getter method.
            </summary>
            <remarks>The setter should only be called once, to complete the two phase initialization of this object.</remarks>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.SourceMethodBody.Operations">
            <summary>
            A list CLR IL operations that implement this method body.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.SourceMethodBody.OperationExceptionInformation">
            <summary>
            A list exception data within the method body IL.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.SourceMethodBody.PrivateHelperTypes">
            <summary>
            Any types that are implicitly defined in order to implement the body semantics.
            In case of AST to instructions conversion this lists the types produced.
            In case of instructions to AST decompilation this should ideally be list of all types
            which are local to method.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.AssertStatement">
            <summary>
            A statement that asserts that a condition must always be true when execution reaches it. For example the assert statement of Spec#.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.Statement">
            <summary>
            An executable statement.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Statement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Statement.#ctor(Microsoft.Cci.IStatement)">
            <summary>
            
            </summary>
            <param name="statement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Statement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(T) method where T is the most derived object model node interface type implemented by the concrete type
            of the object implementing IDoubleDispatcher. The dispatch method does not invoke Dispatch on any child objects. If child traversal
            is desired, the implementations of the Visit methods should do the subsequent dispatching.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.Statement.HasErrors">
            <summary>
            Checks the statement for errors and returns true if any were found.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.Statement.Locations">
            <summary>
            A potentially empty collection of locations that correspond to this instance.
            </summary>
            <value></value>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.AssertStatement.#ctor">
            <summary>
            Allocates a statement that asserts that a condition must always be true when execution reaches it. For example the assert statement of Spec#.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.AssertStatement.#ctor(Microsoft.Cci.IAssertStatement)">
            <summary>
            Allocates a copy of a statement that asserts that a condition must always be true when execution reaches it. For example the assert statement of Spec#.
            </summary>
            <param name="assertStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.AssertStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(IAssertStatement) method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.AssertStatement.Condition">
            <summary>
            A condition that must be true when execution reaches this statement.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.AssertStatement.HasBeenVerified">
            <summary>
            True if a static verification tool has determined that the condition will always be true when execution reaches this statement.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.AssumeStatement">
            <summary>
            A statement that asserts that a condition will always be true when execution reaches it. For example the assume statement of Spec#
            or a call to System.Diagnostics.Assert in C#.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.AssumeStatement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.AssumeStatement.#ctor(Microsoft.Cci.IAssumeStatement)">
            <summary>
            
            </summary>
            <param name="assumeStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.AssumeStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IAssumeStatement).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.AssumeStatement.Condition">
            <summary>
            A condition that must be true when execution reaches this statement.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.BlockStatement">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.BlockStatement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.BlockStatement.#ctor(Microsoft.Cci.IBlockStatement)">
            <summary>
            
            </summary>
            <param name="blockStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.BlockStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IBlockStatement).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.BlockStatement.Statements">
            <summary>
            The statements making up the block.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.BlockStatement.UseCheckedArithmetic">
            <summary>
            True if, by default, all arithmetic expressions in the block must be checked for overflow. This setting is inherited by nested blocks and
            can be overridden by nested blocks and expressions.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.BreakStatement">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.BreakStatement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.BreakStatement.#ctor(Microsoft.Cci.IBreakStatement)">
            <summary>
            
            </summary>
            <param name="breakStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.BreakStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IBreakStatement).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.CatchClause">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CatchClause.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CatchClause.#ctor(Microsoft.Cci.ICatchClause)">
            <summary>
            
            </summary>
            <param name="catchClause"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CatchClause.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.CatchClause.Body">
            <summary>
            The statements within the catch clause.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.CatchClause.ExceptionContainer">
            <summary>
            The local that contains the exception instance when executing the catch clause body.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.CatchClause.ExceptionType">
            <summary>
            The type of the exception to handle.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.CatchClause.FilterCondition">
            <summary>
            A condition that must evaluate to true if the catch clause is to be executed.
            May be null, in which case any exception of ExceptionType will cause the handler to execute.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.CatchClause.Locations">
            <summary>
            A potentially empty collection of locations that correspond to this instance.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.ConditionalStatement">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ConditionalStatement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ConditionalStatement.#ctor(Microsoft.Cci.IConditionalStatement)">
            <summary>
            
            </summary>
            <param name="conditionalStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ConditionalStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.ConditionalStatement.Condition">
            <summary>
            The expression to evaluate as true or false.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.ConditionalStatement.FalseBranch">
            <summary>
            Statement to execute if the conditional expression evaluates to false.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.ConditionalStatement.TrueBranch">
            <summary>
            Statement to execute if the conditional expression evaluates to true.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.ContinueStatement">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ContinueStatement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ContinueStatement.#ctor(Microsoft.Cci.IContinueStatement)">
            <summary>
            
            </summary>
            <param name="continueStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ContinueStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.DebuggerBreakStatement">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.DebuggerBreakStatement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.DebuggerBreakStatement.#ctor(Microsoft.Cci.IDebuggerBreakStatement)">
            <summary>
            
            </summary>
            <param name="debuggerBreakStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.DebuggerBreakStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.DoUntilStatement">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.DoUntilStatement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.DoUntilStatement.#ctor(Microsoft.Cci.IDoUntilStatement)">
            <summary>
            
            </summary>
            <param name="doUntilStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.DoUntilStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.DoUntilStatement.Body">
            <summary>
            The body of the loop.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.DoUntilStatement.Condition">
            <summary>
            The condition to evaluate as false or true.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.EmptyStatement">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.EmptyStatement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.EmptyStatement.#ctor(Microsoft.Cci.IEmptyStatement)">
            <summary>
            
            </summary>
            <param name="emptyStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.EmptyStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.EmptyStatement.IsSentinel">
            <summary>
            True if this statement is a sentinel that should never be reachable.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.ExpressionStatement">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ExpressionStatement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ExpressionStatement.#ctor(Microsoft.Cci.IExpressionStatement)">
            <summary>
            
            </summary>
            <param name="expressionStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ExpressionStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.ExpressionStatement.Expression">
            <summary>
            The expression.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.ForEachStatement">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ForEachStatement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ForEachStatement.#ctor(Microsoft.Cci.IForEachStatement)">
            <summary>
            
            </summary>
            <param name="forEachStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ForEachStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.ForEachStatement.Body">
            <summary>
            The body of the loop.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.ForEachStatement.Collection">
            <summary>
            An epxression resulting in an enumerable collection of values (an object implementing System.Collections.IEnumerable).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.ForEachStatement.Variable">
            <summary>
            The foreach loop variable that holds the current element from the collection.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.ForStatement">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ForStatement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ForStatement.#ctor(Microsoft.Cci.IForStatement)">
            <summary>
            
            </summary>
            <param name="forStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ForStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.ForStatement.Body">
            <summary>
            The statements making up the body of the loop.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.ForStatement.Condition">
            <summary>
            The expression to evaluate as true or false, which determines if the loop is to continue.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.ForStatement.IncrementStatements">
            <summary>
            Statements that are called after each loop cycle, typically to increment a counter.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.ForStatement.InitStatements">
            <summary>
            The loop initialization statements.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.GotoStatement">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.GotoStatement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.GotoStatement.#ctor(Microsoft.Cci.IGotoStatement)">
            <summary>
            
            </summary>
            <param name="gotoStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.GotoStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.GotoStatement.TargetStatement">
            <summary>
            The statement at which the program execution is to continue.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.GotoSwitchCaseStatement">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.GotoSwitchCaseStatement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.GotoSwitchCaseStatement.#ctor(Microsoft.Cci.IGotoSwitchCaseStatement)">
            <summary>
            
            </summary>
            <param name="gotoSwitchCaseStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.GotoSwitchCaseStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.GotoSwitchCaseStatement.TargetCase">
            <summary>
            The switch statement case clause to which this statement transfers control to.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.LabeledStatement">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.LabeledStatement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.LabeledStatement.#ctor(Microsoft.Cci.ILabeledStatement)">
            <summary>
            
            </summary>
            <param name="labeledStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.LabeledStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.LabeledStatement.Label">
            <summary>
            The label.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.LabeledStatement.Statement">
            <summary>
            The associated statement. Contains an empty statement if this is a stand-alone label.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.LocalDeclarationStatement">
            <summary>
            An object that represents the declaration of a local variable, with optional initializer.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.LocalDeclarationStatement.#ctor">
            <summary>
            Initializes an object that represents the declaration of a local variable, with optional initializer.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.LocalDeclarationStatement.#ctor(Microsoft.Cci.ILocalDeclarationStatement)">
            <summary>
            Initializes an object that represents the declaration of a local variable, with optional initializer.
            </summary>
            <param name="localDeclarationStatement">The local declaration statement.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.LocalDeclarationStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(ILocalDeclarationsStatement).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.LocalDeclarationStatement.InitialValue">
            <summary>
            The initial value of the local variable. This may be null.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.LocalDeclarationStatement.LocalVariable">
            <summary>
            The local variable declared by this statement.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.LockStatement">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.LockStatement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.LockStatement.#ctor(Microsoft.Cci.ILockStatement)">
            <summary>
            
            </summary>
            <param name="lockStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.LockStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.LockStatement.Body">
            <summary>
            The statement to execute inside the try body after the monitor has been entered.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.LockStatement.Guard">
            <summary>
            The monitor object (which gets locked when the monitor is entered and unlocked in the finally clause).
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.ResourceUseStatement">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ResourceUseStatement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ResourceUseStatement.#ctor(Microsoft.Cci.IResourceUseStatement)">
            <summary>
            
            </summary>
            <param name="resourceUseStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ResourceUseStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.ResourceUseStatement.Body">
            <summary>
            The body of the resource use statement.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.ResourceUseStatement.ResourceAcquisitions">
            <summary>
            Statements to initialize local definitions with the resources to use.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.RethrowStatement">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.RethrowStatement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.RethrowStatement.#ctor(Microsoft.Cci.IRethrowStatement)">
            <summary>
            
            </summary>
            <param name="rethrowStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.RethrowStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.ReturnStatement">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ReturnStatement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ReturnStatement.#ctor(Microsoft.Cci.IReturnStatement)">
            <summary>
            
            </summary>
            <param name="returnStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ReturnStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.ReturnStatement.Expression">
            <summary>
            The return value, if any.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.SwitchCase">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.SwitchCase.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.SwitchCase.#ctor(Microsoft.Cci.ISwitchCase)">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.Cci.MutableCodeModel.SwitchCase"/> class.
            </summary>
            <param name="switchCase">The switch case.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.SwitchCase.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.SwitchCase.Body">
            <summary>
            The statements representing this switch case.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.SwitchCase.Expression">
            <summary>
            A compile time constant of the same type as the switch expression.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.SwitchCase.IsDefault">
            <summary>
            True if this case will be branched to for all values where no other case is applicable. Only one of of these is legal per switch statement.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.SwitchCase.Locations">
            <summary>
            A potentially empty collection of locations that correspond to this instance.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.SwitchStatement">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.SwitchStatement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.SwitchStatement.#ctor(Microsoft.Cci.ISwitchStatement)">
            <summary>
            
            </summary>
            <param name="switchStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.SwitchStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.SwitchStatement.Cases">
            <summary>
            The switch cases.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.SwitchStatement.Expression">
            <summary>
            The expression to evaluate in order to determine with switch case to branch to.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.ThrowStatement">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ThrowStatement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ThrowStatement.#ctor(Microsoft.Cci.IThrowStatement)">
            <summary>
            
            </summary>
            <param name="throwStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ThrowStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.ThrowStatement.Exception">
            <summary>
            The exception to throw.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.TryCatchFinallyStatement">
            <summary>
            Represents a try block with any number of catch clauses, any number of filter clauses and, optionally, a finally or fault block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.TryCatchFinallyStatement.#ctor">
            <summary>
            Allocates and object that represents a try block with any number of catch clauses, any number of filter clauses and, optionally, a finally or fault block.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.TryCatchFinallyStatement.#ctor(Microsoft.Cci.ITryCatchFinallyStatement)">
            <summary>
            
            </summary>
            <param name="tryCatchFinallyStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.TryCatchFinallyStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.TryCatchFinallyStatement.CatchClauses">
            <summary>
            The catch clauses.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.TryCatchFinallyStatement.FinallyBody">
            <summary>
            The body of the finally clause, if any. May be null.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.TryCatchFinallyStatement.FaultBody">
            <summary>
            The body of the fault clause, if any. May be null.
            There is no C# equivalent of a fault clause. It is just like a finally clause, but is only invoked if an exception occurred.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.TryCatchFinallyStatement.TryBody">
            <summary>
            The body of the try clause.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.WhileDoStatement">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.WhileDoStatement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.WhileDoStatement.#ctor(Microsoft.Cci.IWhileDoStatement)">
            <summary>
            
            </summary>
            <param name="whileDoStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.WhileDoStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.WhileDoStatement.Body">
            <summary>
            The body of the loop.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.WhileDoStatement.Condition">
            <summary>
            The condition to evaluate as false or true.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.YieldBreakStatement">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.YieldBreakStatement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.YieldBreakStatement.#ctor(Microsoft.Cci.IYieldBreakStatement)">
            <summary>
            
            </summary>
            <param name="yieldBreakStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.YieldBreakStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.YieldReturnStatement">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.YieldReturnStatement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.YieldReturnStatement.#ctor(Microsoft.Cci.IYieldReturnStatement)">
            <summary>
            
            </summary>
            <param name="yieldReturnStatement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.YieldReturnStatement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.YieldReturnStatement.Expression">
            <summary>
            The value to yield.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.Contracts.ContractHelper">
            <summary>
            Helper class for performing common tasks on mutable contracts
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Contracts.ContractHelper.AddMethodContract(Microsoft.Cci.Contracts.MethodContract,Microsoft.Cci.Contracts.IMethodContract)">
            <summary>
            Accumulates all elements from <paramref name="sourceContract"/> into <paramref name="targetContract"/>
            </summary>
            <param name="targetContract">Contract which is target of accumulator</param>
            <param name="sourceContract">Contract which is source of accumulator</param>
        </member>
        <member name="M:Microsoft.Cci.Contracts.ContractHelper.GetMethodContractForIncludingInheritedContracts(Microsoft.Cci.Contracts.IContractAwareHost,Microsoft.Cci.IMethodDefinition)">
            <summary>
            Returns a method contract containing the 'effective' contract for the given
            method definition. The effective contract contains all contracts for the method:
            any that it has on its own, as well as all those inherited from any methods
            that it overrides or interface methods that it implements (either implicitly
            or explicitly).
            All parameters in inherited contracts are substituted for by
            the method's own parameters.
            If there are no contracts, then it returns null.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Contracts.ContractHelper.GetMethodContractFor(Microsoft.Cci.Contracts.IContractAwareHost,Microsoft.Cci.IMethodDefinition)">
            <summary>
            Returns a (possibly-null) method contract relative to a contract-aware host.
            If you already know which unit the method is defined in and/or already have
            the contract provider for the unit in which the method is defined, then you
            would do just as well to directly query that contract provider.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Contracts.SubstituteParameters">
            <summary>
            A mutator that substitutes parameters defined in one method with those from another method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Contracts.SubstituteParameters.#ctor(Microsoft.Cci.IMetadataHost,Microsoft.Cci.IMethodDefinition,Microsoft.Cci.IMethodDefinition)">
            <summary>
            Creates a mutator that replaces all occurrences of parameters from the target method with those from the source method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Contracts.SubstituteParameters.Visit(Microsoft.Cci.MutableCodeModel.BoundExpression)">
            <summary>
            Visits the specified bound expression.
            </summary>
            <param name="boundExpression">The bound expression.</param>
            <returns></returns>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.FixAnonymousDelegateBodyToUseClosure">
            <summary>
            A mutator that visits an anonymous delegate body and produces a copy that has been changed to
            reference captured locals and parameters via fields on a closure class.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.FixAnonymousDelegateBodyToUseClosure.#ctor(System.Collections.Generic.Dictionary{System.Object,Microsoft.Cci.MutableCodeModel.BoundField},System.Collections.Generic.Dictionary{System.Object,System.Object},Microsoft.Cci.MutableCodeModel.TypeDefinition,System.Collections.Generic.List{Microsoft.Cci.IFieldDefinition},Microsoft.Cci.IMetadataHost,Microsoft.Cci.ISourceLocationProvider)">
            <summary>
            Allocates a mutator that visits an anonymous delegate body and produces a copy that has been changed to
            reference captured locals and parameters via fields on a closure class.
            </summary>
            <param name="fieldForCapturedLocalOrParameter">A map from captured locals and parameters to the closure class fields that hold their state for the method
            corresponding to the anonymous delegate.</param>
            <param name="cache">A cache for any duplicates created by this mutator. The cache is used both to save space and to detect when the traversal of a cycle should stop.</param>
            <param name="closure">The definition of the class that contains the fields that hold the values of captured locals and parameters.</param>
            <param name="outerClosures">A potentially empty list of closures that for any anonymous delegates that enclose the anonymous delegate that will be
            traversed by this mutator.</param>
            <param name="host">An object representing the application that is hosting this mutator. It is used to obtain access to some global
            objects and services such as the shared name table and the table for interning references.</param>
            <param name="sourceLocationProvider">An object that can map the ILocation objects found in a block of statements to IPrimarySourceLocation objects. May be null.</param>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.Addition">
            <summary>
            
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.BinaryOperation">
            <summary>
            A binary operation performed on a left and right operand.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.Expression">
            <summary>
            An expression results in a value of some type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Expression.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Expression.#ctor(Microsoft.Cci.IExpression)">
            <summary>
            
            </summary>
            <param name="expression"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Expression.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls the visitor.Visit(T) method where T is the most derived object model node interface type implemented by the concrete type
            of the object implementing IDoubleDispatcher. The dispatch method does not invoke Dispatch on any child objects. If child traversal
            is desired, the implementations of the Visit methods should do the subsequent dispatching.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.Expression.HasErrors">
            <summary>
            Checks the expression for errors and returns true if any were found.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.Expression.IsPure">
            <summary>
            True if the expression has no observable side effects.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.Expression.Locations">
            <summary>
            A potentially empty collection of locations that correspond to this instance.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.Expression.Type">
            <summary>
            The type of value the expression will evaluate to, as determined at compile time.
            </summary>
            <value></value>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.BinaryOperation.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.BinaryOperation.#ctor(Microsoft.Cci.IBinaryOperation)">
            <summary>
            
            </summary>
            <param name="binaryOperation"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.BinaryOperation.LeftOperand">
            <summary>
            The left operand.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.BinaryOperation.RightOperand">
            <summary>
            The right operand.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Addition.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Addition.#ctor(Microsoft.Cci.IAddition)">
            <summary>
            
            </summary>
            <param name="addition"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Addition.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IAddition).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.Addition.CheckOverflow">
            <summary>
            The addition must be performed with a check for arithmetic overflow if the operands are integers.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.AddressableExpression">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.AddressableExpression.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.AddressableExpression.#ctor(Microsoft.Cci.IAddressableExpression)">
            <summary>
            
            </summary>
            <param name="addressableExpression"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.AddressableExpression.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IAddressableExpression).
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.AddressableExpression.Definition">
            <summary>
            The local variable, parameter, field, array element, pointer target or method that this expression denotes.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.AddressableExpression.Instance">
            <summary>
            The instance to be used if this.Definition is an instance field/method or array indexer.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.AddressOf">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.AddressOf.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.AddressOf.#ctor(Microsoft.Cci.IAddressOf)">
            <summary>
            
            </summary>
            <param name="addressOf"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.AddressOf.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IAddressOf).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.AddressOf.Expression">
            <summary>
            An expression that represents an addressable location in memory.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.AddressOf.ObjectControlsMutability">
            <summary>
            If true, the address can only be used in operations where defining type of the addressed
            object has control over whether or not the object is mutated. For example, a value type that
            exposes no public fields or mutator methods cannot be changed using this address.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.AddressDereference">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.AddressDereference.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.AddressDereference.#ctor(Microsoft.Cci.IAddressDereference)">
            <summary>
            
            </summary>
            <param name="addressDereference"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.AddressDereference.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IAddressDereference).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.AddressDereference.Address">
            <summary>
            The address to dereference.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.AddressDereference.Alignment">
            <summary>
            If the addres to dereference is not aligned with the size of the target type, this property specifies the actual alignment.
            For example, a value of 1 specifies that the pointer is byte aligned, whereas the target type may be word sized.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.AddressDereference.IsUnaligned">
            <summary>
            True if the address is not aligned to the natural size of the target type. If true, the actual alignment of the
            address is specified by this.Alignment.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.AddressDereference.IsVolatile">
            <summary>
            The location at Address is volatile and its contents may not be cached.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.AnonymousDelegate">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.AnonymousDelegate.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.AnonymousDelegate.#ctor(Microsoft.Cci.IAnonymousDelegate)">
            <summary>
            
            </summary>
            <param name="anonymousDelegate"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.AnonymousDelegate.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IAnonymousDelegate).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.AnonymousDelegate.Body">
            <summary>
            A block of statements providing the implementation of the anonymous method that is called by the delegate that is the result of this expression.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.AnonymousDelegate.CallingConvention">
            <summary>
            Calling convention of the signature.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.AnonymousDelegate.Parameters">
            <summary>
            The parameters this anonymous method.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.AnonymousDelegate.ReturnType">
            <summary>
            The return type of the delegate.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.AnonymousDelegate.ReturnValueCustomModifiers">
            <summary>
            Returns the list of custom modifiers, if any, associated with the returned value. Evaluate this property only if ReturnValueIsModified is true.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.AnonymousDelegate.ReturnValueIsByRef">
            <summary>
            True if the return value is passed by reference (using a managed pointer).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.AnonymousDelegate.ReturnValueIsModified">
            <summary>
            True if the return value has one or more custom modifiers associated with it.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.ArrayIndexer">
            <summary>
            An expression that represents an array element access.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ArrayIndexer.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ArrayIndexer.#ctor(Microsoft.Cci.IArrayIndexer)">
            <summary>
            
            </summary>
            <param name="arrayIndexer"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ArrayIndexer.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IArrayIndexer).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.ArrayIndexer.IndexedObject">
            <summary>
            An expression that results in value of an array type.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.ArrayIndexer.Indices">
            <summary>
            The array indices.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.Assignment">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Assignment.#ctor">
            <summary>
            Initializes a new instance of the <see cref="T:Microsoft.Cci.MutableCodeModel.Assignment"/> class.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Assignment.#ctor(Microsoft.Cci.IAssignment)">
            <summary>
            
            </summary>
            <param name="assignment"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Assignment.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IAssignment).
            </summary>
            <param name="visitor"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.Assignment.Source">
            <summary>
            The expression representing the value to assign.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.Assignment.Target">
            <summary>
            The expression representing the target to assign to.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.BaseClassReference">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.BaseClassReference.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.BaseClassReference.#ctor(Microsoft.Cci.IBaseClassReference)">
            <summary>
            
            </summary>
            <param name="baseClassReference"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.BaseClassReference.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IBaseClassReference).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.BitwiseAnd">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.BitwiseAnd.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.BitwiseAnd.#ctor(Microsoft.Cci.IBitwiseAnd)">
            <summary>
            
            </summary>
            <param name="bitwiseAnd"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.BitwiseAnd.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IBitwiseAnd).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.BitwiseOr">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.BitwiseOr.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.BitwiseOr.#ctor(Microsoft.Cci.IBitwiseOr)">
            <summary>
            
            </summary>
            <param name="bitwiseOr"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.BitwiseOr.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IBitwiseOr).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.BlockExpression">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.BlockExpression.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.BlockExpression.#ctor(Microsoft.Cci.IBlockExpression)">
            <summary>
            
            </summary>
            <param name="blockExpression"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.BlockExpression.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IBlockExpression).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.BlockExpression.BlockStatement">
            <summary>
            A block of statements that typically introduce local variables to hold sub expressions.
            The scope of these declarations coincides with the block expression.
            The statements are executed before evaluation of Expression occurs.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.BlockExpression.Expression">
            <summary>
            The expression that computes the result of the entire block expression.
            This expression can contain references to the local variables that are declared inside BlockStatement.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.BoundExpression">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.BoundExpression.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.BoundExpression.#ctor(Microsoft.Cci.IBoundExpression)">
            <summary>
            
            </summary>
            <param name="boundExpression"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.BoundExpression.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IBoundExpression).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.BoundExpression.Alignment">
            <summary>
            If Definition is a field and the field is not aligned with natural size of its type, this property specifies the actual alignment.
            For example, if the field is byte aligned, then the result of this property is 1. Likewise, 2 for word (16-bit) alignment and 4 for
            double word (32-bit alignment).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.BoundExpression.Definition">
            <summary>
            The local variable, parameter or field that this expression binds to.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.BoundExpression.Instance">
            <summary>
            If the expression binds to an instance field then this property is not null and contains the instance.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.BoundExpression.IsUnaligned">
            <summary>
            True if the definition is a field and the field is not aligned with the natural size of its type.
            For example if the field type is Int32 and the field is aligned on an Int16 boundary.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.BoundExpression.IsVolatile">
            <summary>
            The bound Definition is a volatile field and its contents may not be cached.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.CastIfPossible">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CastIfPossible.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CastIfPossible.#ctor(Microsoft.Cci.ICastIfPossible)">
            <summary>
            
            </summary>
            <param name="castIfPossible"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CastIfPossible.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(ICastIfPossible).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.CastIfPossible.TargetType">
            <summary>
            The type to which the value must be cast. If the value is not of this type, the expression results in a null value of this type.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.CastIfPossible.ValueToCast">
            <summary>
            The value to cast if possible.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.CheckIfInstance">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CheckIfInstance.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CheckIfInstance.#ctor(Microsoft.Cci.ICheckIfInstance)">
            <summary>
            
            </summary>
            <param name="checkIfInstance"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CheckIfInstance.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(ICheckIfInstance).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.CheckIfInstance.Operand">
            <summary>
            The value to check.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.CheckIfInstance.TypeToCheck">
            <summary>
            The type to which the value must belong for this expression to evaluate as true.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.Conversion">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Conversion.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Conversion.#ctor(Microsoft.Cci.IConversion)">
            <summary>
            
            </summary>
            <param name="conversion"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Conversion.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IConversion).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.Conversion.CheckNumericRange">
            <summary>
            If true and ValueToConvert is a number and ResultType is a numeric type, check that ValueToConvert falls within the range of ResultType and throw an exception if not.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.Conversion.TypeAfterConversion">
            <summary>
            The type to which the value is to be converted.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.Conversion.ValueToConvert">
            <summary>
            The value to convert.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.CompileTimeConstant">
            <summary>
            An expression that does not change its value at runtime and that can be evaluated at compile time.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CompileTimeConstant.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CompileTimeConstant.#ctor(Microsoft.Cci.ICompileTimeConstant)">
            <summary>
            
            </summary>
            <param name="compileTimeConstant"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CompileTimeConstant.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(ICompileTimeConstant).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CompileTimeConstant.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(ICompileTimeConstant) method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.CompileTimeConstant.Value">
            <summary>
            The compile time value of the expression. Can be null.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.Conditional">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Conditional.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Conditional.#ctor(Microsoft.Cci.IConditional)">
            <summary>
            
            </summary>
            <param name="conditional"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Conditional.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IConditional).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.Conditional.Condition">
            <summary>
            The condition that determines which subexpression to evaluate.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.Conditional.ResultIfFalse">
            <summary>
            The expression to evaluate as the value of the overall expression if the condition is false.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.Conditional.ResultIfTrue">
            <summary>
            The expression to evaluate as the value of the overall expression if the condition is true.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.ConstructorOrMethodCall">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ConstructorOrMethodCall.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ConstructorOrMethodCall.#ctor(Microsoft.Cci.ICreateObjectInstance)">
            <summary>
            
            </summary>
            <param name="createObjectInstance"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ConstructorOrMethodCall.#ctor(Microsoft.Cci.IMethodCall)">
            <summary>
            
            </summary>
            <param name="methodCall"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.ConstructorOrMethodCall.Arguments">
            <summary>
            Gets or sets the arguments.
            </summary>
            <value>The arguments.</value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.ConstructorOrMethodCall.MethodToCall">
            <summary>
            Gets or sets the method to call.
            </summary>
            <value>The method to call.</value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.CreateArray">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CreateArray.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CreateArray.#ctor(Microsoft.Cci.ICreateArray)">
            <summary>
            
            </summary>
            <param name="createArray"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CreateArray.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(ICreateArray).
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CreateArray.Dispatch(Microsoft.Cci.IMetadataVisitor)">
            <summary>
            Calls the visitor.Visit(ICreateArray) method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.CreateArray.ElementType">
            <summary>
            The element type of the array.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.CreateArray.Initializers">
            <summary>
            The initial values of the array elements. May be empty.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.CreateArray.LowerBounds">
            <summary>
            The index value of the first element in each dimension.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.CreateArray.Rank">
            <summary>
            The number of dimensions of the array.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.CreateArray.Sizes">
            <summary>
            The number of elements allowed in each dimension.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.CreateDelegateInstance">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CreateDelegateInstance.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CreateDelegateInstance.#ctor(Microsoft.Cci.ICreateDelegateInstance)">
            <summary>
            
            </summary>
            <param name="createDelegateInstance"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CreateDelegateInstance.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(ICreateDelegateInstance).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.CreateDelegateInstance.Instance">
            <summary>
            An expression that evaluates to the instance (if any) on which this.MethodToCallViaDelegate must be called (via the delegate).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.CreateDelegateInstance.MethodToCallViaDelegate">
            <summary>
            The method that is to be be called when the delegate instance is invoked.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.CreateObjectInstance">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CreateObjectInstance.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CreateObjectInstance.#ctor(Microsoft.Cci.ICreateObjectInstance)">
            <summary>
            
            </summary>
            <param name="createObjectInstance"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CreateObjectInstance.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(ICreateObjectInstance).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.DefaultValue">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.DefaultValue.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.DefaultValue.#ctor(Microsoft.Cci.IDefaultValue)">
            <summary>
            
            </summary>
            <param name="defaultValue"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.DefaultValue.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IDefaultValue).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.DefaultValue.DefaultValueType">
            <summary>
            The type whose default value is the result of this expression.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.Division">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Division.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Division.#ctor(Microsoft.Cci.IDivision)">
            <summary>
            
            </summary>
            <param name="division"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Division.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IDivision).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.Division.CheckOverflow">
            <summary>
            The division must be performed with a check for arithmetic overflow if the operands are integers.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.Equality">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Equality.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Equality.#ctor(Microsoft.Cci.IEquality)">
            <summary>
            
            </summary>
            <param name="equality"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Equality.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IEquality).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.ExclusiveOr">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ExclusiveOr.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ExclusiveOr.#ctor(Microsoft.Cci.IExclusiveOr)">
            <summary>
            
            </summary>
            <param name="exclusiveOr"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ExclusiveOr.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IExclusiveOr).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.GetTypeOfTypedReference">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.GetTypeOfTypedReference.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.GetTypeOfTypedReference.#ctor(Microsoft.Cci.IGetTypeOfTypedReference)">
            <summary>
            
            </summary>
            <param name="getTypeOfTypedReference"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.GetTypeOfTypedReference.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IGetTypeOfTypedReference).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.GetTypeOfTypedReference.TypedReference">
            <summary>
            An expression that results in a value of type System.TypedReference.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.GetValueOfTypedReference">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.GetValueOfTypedReference.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.GetValueOfTypedReference.#ctor(Microsoft.Cci.IGetValueOfTypedReference)">
            <summary>
            
            </summary>
            <param name="getValueOfTypedReference"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.GetValueOfTypedReference.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IGetValueOfTypedReference).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.GetValueOfTypedReference.TargetType">
            <summary>
            The type to which the value part of the typed reference must be converted.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.GetValueOfTypedReference.TypedReference">
            <summary>
            An expression that results in a value of type System.TypedReference.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.GreaterThan">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.GreaterThan.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.GreaterThan.#ctor(Microsoft.Cci.IGreaterThan)">
            <summary>
            
            </summary>
            <param name="greaterThan"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.GreaterThan.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IGreaterThan).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.GreaterThanOrEqual">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.GreaterThanOrEqual.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.GreaterThanOrEqual.#ctor(Microsoft.Cci.IGreaterThanOrEqual)">
            <summary>
            
            </summary>
            <param name="greaterThanOrEqual"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.GreaterThanOrEqual.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IGreaterThanOrEqual).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.LeftShift">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.LeftShift.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.LeftShift.#ctor(Microsoft.Cci.ILeftShift)">
            <summary>
            
            </summary>
            <param name="leftShift"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.LeftShift.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(ILeftShift).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.LessThan">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.LessThan.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.LessThan.#ctor(Microsoft.Cci.ILessThan)">
            <summary>
            
            </summary>
            <param name="lessThan"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.LessThan.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(ILessThan).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.LessThanOrEqual">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.LessThanOrEqual.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.LessThanOrEqual.#ctor(Microsoft.Cci.ILessThanOrEqual)">
            <summary>
            
            </summary>
            <param name="lessThanOrEqual"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.LessThanOrEqual.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(ILessThanOrEqual).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.LogicalNot">
            <summary>
            
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.UnaryOperation">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.UnaryOperation.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.UnaryOperation.#ctor(Microsoft.Cci.IUnaryOperation)">
            <summary>
            
            </summary>
            <param name="unaryOperation"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.UnaryOperation.Operand">
            <summary>
            The value on which the operation is performed.
            </summary>
            <value></value>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.LogicalNot.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.LogicalNot.#ctor(Microsoft.Cci.ILogicalNot)">
            <summary>
            
            </summary>
            <param name="logicalNot"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.LogicalNot.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(ILogicalNot).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.MakeTypedReference">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MakeTypedReference.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MakeTypedReference.#ctor(Microsoft.Cci.IMakeTypedReference)">
            <summary>
            
            </summary>
            <param name="makeTypedReference"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MakeTypedReference.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IMakeTypedReference).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.MakeTypedReference.Operand">
            <summary>
            The value to box in a typed reference.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.MethodCall">
            <summary>
            An expression that invokes a method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodCall.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodCall.#ctor(Microsoft.Cci.IMethodCall)">
            <summary>
            
            </summary>
            <param name="methodCall"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodCall.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IMethodCall).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.MethodCall.IsVirtualCall">
            <summary>
            True if the method to call is determined at run time, based on the runtime type of ThisArgument.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.MethodCall.IsStaticCall">
            <summary>
            True if the method to call is static (has no this parameter).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.MethodCall.IsTailCall">
            <summary>
            True if this method call terminates the calling method. It indicates that the calling method's stack frame is not required
            and can be removed before executing the call.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.MethodCall.ThisArgument">
            <summary>
            The expression that results in the value that must be passed as the value of the this argument of the resolved method.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.Modulus">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Modulus.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Modulus.#ctor(Microsoft.Cci.IModulus)">
            <summary>
            
            </summary>
            <param name="modulus"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Modulus.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IModulus).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.Multiplication">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Multiplication.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Multiplication.#ctor(Microsoft.Cci.IMultiplication)">
            <summary>
            
            </summary>
            <param name="multiplication"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Multiplication.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IMultiplication).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.Multiplication.CheckOverflow">
            <summary>
            The multiplication must be performed with a check for arithmetic overflow if the operands are integers.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.NamedArgument">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.NamedArgument.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.NamedArgument.#ctor(Microsoft.Cci.INamedArgument)">
            <summary>
            
            </summary>
            <param name="namedArgument"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.NamedArgument.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(INamedArgument).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.NamedArgument.ArgumentName">
            <summary>
            The name of the parameter or property or field that corresponds to the argument.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.NamedArgument.ArgumentValue">
            <summary>
            The value of the argument.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.NamedArgument.ResolvedDefinition">
            <summary>
            Returns either null or the parameter or property or field that corresponds to this argument.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.NotEquality">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.NotEquality.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.NotEquality.#ctor(Microsoft.Cci.INotEquality)">
            <summary>
            
            </summary>
            <param name="notEquality"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.NotEquality.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(INotEquality).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.OldValue">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.OldValue.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.OldValue.#ctor(Microsoft.Cci.IOldValue)">
            <summary>
            
            </summary>
            <param name="oldValue"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.OldValue.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IOldValue).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.OldValue.Expression">
            <summary>
            The expression whose value at the start of method execution is referred to in the method postcondition.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.OutArgument">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.OutArgument.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.OutArgument.#ctor(Microsoft.Cci.IOutArgument)">
            <summary>
            
            </summary>
            <param name="outArgument"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.OutArgument.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IOutArgument).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.OutArgument.Expression">
            <summary>
            The target that is assigned to as a result of the method call.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.OnesComplement">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.OnesComplement.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.OnesComplement.#ctor(Microsoft.Cci.IOnesComplement)">
            <summary>
            
            </summary>
            <param name="onesComplement"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.OnesComplement.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IOnesComplement).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.PointerCall">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.PointerCall.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.PointerCall.#ctor(Microsoft.Cci.IPointerCall)">
            <summary>
            
            </summary>
            <param name="pointerCall"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.PointerCall.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IPointerCall).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.PointerCall.Arguments">
            <summary>
            The arguments to pass to the method, after they have been converted to match the parameters of the method.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.PointerCall.Pointer">
            <summary>
            An expression that results at runtime in a function pointer that points to the actual method to call.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.PointerCall.IsTailCall">
            <summary>
            True if this method call terminates the calling method. It indicates that the calling method's stack frame is not required
            and can be removed before executing the call.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.RefArgument">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.RefArgument.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.RefArgument.#ctor(Microsoft.Cci.IRefArgument)">
            <summary>
            
            </summary>
            <param name="refArgument"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.RefArgument.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IRefArgument).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.RefArgument.Expression">
            <summary>
            The target that is assigned to as a result of the method call, but whose value is also passed to the method at the start of the call.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.ReturnValue">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ReturnValue.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ReturnValue.#ctor(Microsoft.Cci.IReturnValue)">
            <summary>
            
            </summary>
            <param name="returnValue"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ReturnValue.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IReturnValue).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.RightShift">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.RightShift.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.RightShift.#ctor(Microsoft.Cci.IRightShift)">
            <summary>
            
            </summary>
            <param name="rightShift"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.RightShift.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IRightShift).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.RuntimeArgumentHandleExpression">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.RuntimeArgumentHandleExpression.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.RuntimeArgumentHandleExpression.#ctor(Microsoft.Cci.IRuntimeArgumentHandleExpression)">
            <summary>
            
            </summary>
            <param name="runtimeArgumentHandleExpression"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.RuntimeArgumentHandleExpression.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IRuntimeArgumentHandleExpression).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.SizeOf">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.SizeOf.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.SizeOf.#ctor(Microsoft.Cci.ISizeOf)">
            <summary>
            
            </summary>
            <param name="sizeOf"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.SizeOf.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(ISizeOf).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.SizeOf.TypeToSize">
            <summary>
            The type to size.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.StackArrayCreate">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.StackArrayCreate.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.StackArrayCreate.#ctor(Microsoft.Cci.IStackArrayCreate)">
            <summary>
            
            </summary>
            <param name="stackArrayCreate"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.StackArrayCreate.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IStackArrayCreate).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.StackArrayCreate.ElementType">
            <summary>
            The type of the elements of the stack array. This type must be unmanaged (contain no pointers to objects on the heap managed by the garbage collector).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.StackArrayCreate.Size">
            <summary>
            The size (number of bytes) of the stack array.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.Subtraction">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Subtraction.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Subtraction.#ctor(Microsoft.Cci.ISubtraction)">
            <summary>
            
            </summary>
            <param name="subtraction"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.Subtraction.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(ISubtraction).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.Subtraction.CheckOverflow">
            <summary>
            The subtraction must be performed with a check for arithmetic overflow if the operands are integers.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.TargetExpression">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.TargetExpression.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.TargetExpression.#ctor(Microsoft.Cci.ITargetExpression)">
            <summary>
            
            </summary>
            <param name="targetExpression"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.TargetExpression.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(ITargetExpression).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.TargetExpression.Alignment">
            <summary>
            If Definition is a field and the field is not aligned with natural size of its type, this property specifies the actual alignment.
            For example, if the field is byte aligned, then the result of this property is 1. Likewise, 2 for word (16-bit) alignment and 4 for
            double word (32-bit alignment).
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.TargetExpression.Definition">
            <summary>
            The local variable, parameter, field, property, array element or pointer target that this expression denotes.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.TargetExpression.Instance">
            <summary>
            The instance to be used if this.Definition is an instance field/property or array indexer.
            </summary>
            <value></value>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.TargetExpression.IsUnaligned">
            <summary>
            True if the definition is a field and the field is not aligned with the natural size of its type.
            For example if the field type is Int32 and the field is aligned on an Int16 boundary.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.TargetExpression.IsVolatile">
            <summary>
            The bound Definition is a volatile field and its contents may not be cached.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.ThisReference">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ThisReference.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ThisReference.#ctor(Microsoft.Cci.IThisReference)">
            <summary>
            
            </summary>
            <param name="thisReference"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.ThisReference.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IThisReference).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.TokenOf">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.TokenOf.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.TokenOf.#ctor(Microsoft.Cci.ITokenOf)">
            <summary>
            
            </summary>
            <param name="tokenOf"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.TokenOf.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(ITokenOf).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.TokenOf.Definition">
            <summary>
            An instance of IFieldReference, IMethodReference or ITypeReference.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.TypeOf">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.TypeOf.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.TypeOf.#ctor(Microsoft.Cci.ITypeOf)">
            <summary>
            
            </summary>
            <param name="typeOf"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.TypeOf.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(ITypeOf).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.TypeOf.TypeToGet">
            <summary>
            The type that will be represented by the System.Type instance.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.UnaryNegation">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.UnaryNegation.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.UnaryNegation.#ctor(Microsoft.Cci.IUnaryNegation)">
            <summary>
            
            </summary>
            <param name="unaryNegation"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.UnaryNegation.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IUnaryNegation).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.UnaryNegation.CheckOverflow">
            <summary>
            The negation must be performed with a check for arithmetic overflow if the operands are integers.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.UnaryPlus">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.UnaryPlus.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.UnaryPlus.#ctor(Microsoft.Cci.IUnaryPlus)">
            <summary>
            
            </summary>
            <param name="unaryPlus"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.UnaryPlus.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IUnaryPlus).
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.VectorLength">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.VectorLength.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.VectorLength.#ctor(Microsoft.Cci.IVectorLength)">
            <summary>
            
            </summary>
            <param name="vectorLength"></param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.VectorLength.Dispatch(Microsoft.Cci.ICodeVisitor)">
            <summary>
            Calls visitor.Visit(IVectorLength).
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.VectorLength.Vector">
            <summary>
            An expression that results in a value of a vector (zero-based one-dimensional array) type.
            </summary>
            <value></value>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.CopyToIteratorClosure">
            <summary>
            A mutator that copies statements, expressions, type references previously in the iterator method world to ones
            in the iterator closure. Replace parameters and locals with closure fields. Replace occurrences of the generic
            method parameter with generic type parameter of the closure class. 
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.CopyTypeFromIteratorToClosure">
            <summary>
            Copy a type reference used by an iterator method to a type reference used by the iterator closure. That is, replace
            occurences of the generic method parameters with corresponding generic method parameters. 
            </summary>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.MethodBodyMappingMutator">
            <summary>
            Use this as a base class when you try to mutate the method body of method M1 in class C1
            to be used as method body of method M2 in class C2. supporting the substitution of
            parameters as well as type parameters. 
            
            TODO: CodeMutator is not suitable base class, as its default behavior is copying definitions. 
            An immediate work item is to write a more suitable duplicator class. 
            </summary>
            <remarks>
            This class is the base class for copying a method body, the actual substitution is expected 
            in subclasses. Copying in this class does the following to make the substitution possible. 
            1) Making copies of references. A general rule is that if a reference is a definition, copy 
            the definition as a reference.
            2) Namespace Type Definition is given special treatment. Because if we copy it as a namespace
            type reference using MetadataMutator's copy, the containing namespace is duplicated, resulting
            in duplicated copies of definitions. We simply return the namespace type definition.
            3) SpecializedNestedTypeReference is copied here simply because MetadataMutator's copy 
            of a type reference would treat it as a nestedtypereference. 
            4) Make sure we do not copy generic method parameters and generic type parameters. 
            
            Typically we set copyOnlyIfNotAlreadyMutable to be false to make sure references are copied no matter
            what. If one wants to set this flag to true, presumably one needs to copy those references by himself.
            </remarks>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyMappingMutator.#ctor(Microsoft.Cci.IMetadataHost)">
            <summary>
            Use this as a base class when you try to mutate the method body of method M1 in class C1
            to be used as method body of method M2 in class C2. Anticipating the substitution of
            parameters as well as type parameters, this mutator copies references but not definitions. 
            If a reference is itself a definition, a new reference will be created. 
            </summary>
            <param name="host">An object representing the application that is hosting this mutator. It is used to obtain access to some global
            objects and services such as the shared name table and the table for interning references.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyMappingMutator.Visit(Microsoft.Cci.INamespaceTypeReference)">
            <summary>
            Visits the specified namespace type reference. If the type reference is a definition, return the definition. 
            </summary>
            <param name="namespaceTypeReference">The namespace type reference.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyMappingMutator.Visit(Microsoft.Cci.INestedTypeReference)">
            <summary>
            Visits the specified nested type reference. Do not copy nested type definitions. If the nestedTypeReference is
            a ISpecializedNestedTypeDefinition, it will be treated as a specializedNestedTypeReference, for which a new
            reference is created and visited. 
            </summary>
            <param name="nestedTypeReference">The nested type reference.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyMappingMutator.Visit(Microsoft.Cci.INamespaceTypeDefinition)">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyMappingMutator.Visit(Microsoft.Cci.IFieldReference)">
            <summary>
            Visits the specified field reference. Do not copy field definitions.
            </summary>
            <param name="fieldReference">The field reference.</param>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyMappingMutator.Visit(Microsoft.Cci.IMethodReference)">
            <summary>
            Visits the specified method reference. Do not copy definition. 
            </summary>
            <param name="methodReference">The method reference.</param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyMappingMutator.Visit(Microsoft.Cci.IGenericTypeParameterReference)">
            <summary>
            Visit a genericTypeParameterReference. Do not copy if it is a generic type parameter. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.MethodBodyMappingMutator.Visit(Microsoft.Cci.IGenericMethodParameterReference)">
            <summary>
            Visit a genericMethodParameterReference. Do not copy if it is a genericMethodParameter.
            </summary>
            <param name="genericMethodParameterReference"></param>
            <returns></returns>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.CopyToIteratorClosure.#ctor(System.Collections.Generic.Dictionary{System.Object,Microsoft.Cci.MutableCodeModel.BoundField},System.Collections.Generic.Dictionary{Microsoft.Cci.IBlockStatement,System.UInt32},System.Collections.Generic.Dictionary{Microsoft.Cci.IGenericMethodParameter,Microsoft.Cci.IGenericTypeParameter},Microsoft.Cci.MutableCodeModel.IteratorClosureInformation,Microsoft.Cci.IMetadataHost)">
            <summary>
            Allocates a mutator that visits an anonymous delegate body and produces a copy that has been changed to
            reference captured locals and parameters via fields on a closure class.
            </summary>
            <param name="fieldForCapturedLocalOrParameter">A map from captured locals and parameters to the closure class fields that hold their state for the method
            corresponding to the anonymous delegate.</param>
            <param name="genericParameterMapping">The mapping between generic type parameter(s) of the closure class, if any, to the generic method parameter(s).</param>
            <param name="closure">Information regarding the closure created for the iterator.</param>
            <param name="host">An object representing the application that is hosting this mutator. It is used to obtain access to some global
            objects and services such as the shared name table and the table for interning references.</param>
            <param name="iteratorLocalCount">A map that indicates how many iterator locals are present in a given block. Only useful for generated MoveNext methods.</param>
        </member>
        <member name="T:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation">
            <summary>
            Information needed for and during the creation of the closure class for an iterator method. Such information includes:
            1) the closure class,
            2) its members, and
            3) references to the generic instances of the class and its members, as used by methods in the closure class.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.#ctor(Microsoft.Cci.IMetadataHost)">
            <summary>
            Information needed for and during the creation of the closure class for an iterator method. Such information includes:
            1) the closure class,
            2) its members, and
            3) references to the generic instances of the class and its members
            </summary>
        </member>
        <member name="F:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.ClosureDefinition">
            <summary>
            Closure class definition.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.GetReferenceOfFieldUsedByPeers(Microsoft.Cci.IFieldDefinition)">
            <summary>
            Given a field definition in the closure class, get its reference as will be used by the methods in the closure class. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.GetReferenceOfMethodUsedByPeers(Microsoft.Cci.IMethodDefinition)">
            <summary>
            Get the reference of a method in the closure class as used by other methods in the same class. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.AddField(Microsoft.Cci.IFieldDefinition)">
            <summary>
            Add field definition to the clousre class.
            </summary>
            <param name="field"></param>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.ClosureDefinitionReference">
            <summary>
            The fully instantiated/specialized version of the closure class, where all the instantiations use the type parameters themselves. 
            </summary>
            <remarks>
            The specialized version of the closure class does not exist yet. We have to specialize it ourselves. 
            </remarks>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.CurrentField">
            <summary>
            The "current" field of the iterator closure class. Should not be set more than once. The setter also add the member to the member list of the closure class.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.CurrentFieldReference">
            <summary>
            The reference to this.current as used by methods in the closure class.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.StateField">
            <summary>
            The "state" field of the iterator closure. Should not be set more than once. The setter also add the member to the member list of the closure class.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.StateFieldReference">
            <summary>
            The reference to this.state as used by methods in the closure class.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.ThisField">
            <summary>
            The "this" field of the iterator closure, that is, the one that captures the this parameter
            of the orginal iterator method, if any. Should not be set more than once. The setter also add the member to the member list of the closure class.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.ThisFieldReference">
            <summary>
            The reference to the this field of the iterator closure, as used by the methods in the closure class.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.InitialThreadId">
            <summary>
            The "l_initialThreadId" field of the closure. Should not be set more than once. The setter also add the member to the member list of the closure class.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.InitThreadIdFieldReference">
            <summary>
            The reference to the l_initialThreadId as used by methods in the closure class.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.Constructor">
            <summary>
            Constructor of the iterator closure. Should not be set more than once. The setter also add the member to the member list of the closure class.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.ConstructorReference">
            <summary>
            The reference to the constructor as used by the methods (for example, GetEnumerator) in the closure class. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.MoveNext">
            <summary>
            MoveNext method of the iterator class. Should not be set more than once. The setter also add the member to the member list of the closure class.
            
            MoveNext is not used by other methods in the closure class.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.GenericGetEnumerator">
            <summary>
            The generic version of the GetEnumerator method. Should not be set more than once. The setter also add the member to the member list of the closure class.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.GenericGetEnumeratorReference">
            <summary>
            The reference to the generic version of GetEnumerator as used by other methods (for example, the non-generic
            version of GetEnumerator) in the same closure class. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.GenericGetCurrent">
            <summary>
            The generic version of the get_Current method. Should not be set more than once. The setter also add the member to the member list of the closure class.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.GenericGetCurrentReference">
            <summary>
            The reference to the get_Current method, as used by other methods (for example, the non-generic version of get_Current)
            in the same closure class. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.DisposeMethod">
            <summary>
            The dispose Method of the closure class. Should not be set more than once. The setter also add the member to the member list of the closure class.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.Reset">
            <summary>
            The reset method of the closure class. Should not be set more than once. The setter also add the member to the member list of the closure class.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.NonGenericGetCurrent">
            <summary>
            The non-generic get_Current method of the closure class. Should not be set more than once. The setter also add the member to the member list of the closure class.
            
            This method is not used by other methods in the closure class. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.NonGenericGetEnumerator">
            <summary>
            The non-generic GetEnumerator method of the closure class. Should not be set more than once. The setter also add the member to the member list of the closure class.
            
            This method is not used by other methods in the closure class. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.NonGenericIEnumeratorInterface">
            <summary>
            The non-generic version of the IEnumerator implemented by the closure class. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.GenericIEnumeratorInterface">
            <summary>
            The generic version of the IEnumerator interface implemented by the closure class.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.NonGenericIEnumerableInterface">
            <summary>
            The non-generic version of IEnumerable implemented by the closure class.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.GenericIEnumerableInterface">
            <summary>
            The generic verision of IEnumerable implemented by the closure class. It is an instance of
            IEnumerable[T] with T instantiated to the elementType of the iterator closure. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.DisposableInterface">
            <summary>
            The IDisposable interface. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.ElementType">
            <summary>
            The element type of the IEnumerable implemented by the closure class. If the iterator method's return type is not 
            generic, this is System.Object. 
            </summary>
        </member>
        <member name="P:Microsoft.Cci.MutableCodeModel.IteratorClosureInformation.PlatformIDisposable">
            <summary>
            IDisposable interface. 
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Contracts.ContractProvider">
            <summary>
            An object that associates contracts, such as preconditions and postconditions, with methods, types and loops. 
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Contracts.ContractProvider.#ctor(Microsoft.Cci.Contracts.IContractMethods,Microsoft.Cci.IUnit)">
            <summary>
            Allocates an object that associates contracts, such as preconditions and postconditions, with methods, types and loops. 
            If the object is already associated with a contract, that association will be lost as a result of this call.
            </summary>
            <param name="contractMethods">A collection of methods that can be called in a way that provides tools with information about contracts.</param>
            <param name="unit">The unit that this is a contract provider for.</param>
        </member>
        <member name="M:Microsoft.Cci.Contracts.ContractProvider.AssociateLoopWithContract(System.Object,Microsoft.Cci.Contracts.ILoopContract)">
            <summary>
            Associates the given object with the given loop contract.
            If the object is already associated with a loop contract, that association will be lost as a result of this call.
            </summary>
            <param name="contract">The contract to associate with loop.</param>
            <param name="loop">An object to associate with the loop contract. This can be any kind of object.</param>
        </member>
        <member name="M:Microsoft.Cci.Contracts.ContractProvider.AssociateMethodWithContract(System.Object,Microsoft.Cci.Contracts.IMethodContract)">
            <summary>
            Associates the given object with the given method contract.
            If the object is already associated with a method contract, that association will be lost as a result of this call.
            </summary>
            <param name="contract">The contract to associate with method.</param>
            <param name="method">An object to associate with the method contract. This can be any kind of object.</param>
        </member>
        <member name="M:Microsoft.Cci.Contracts.ContractProvider.AssociateTriggersWithQuantifier(System.Object,System.Collections.Generic.IEnumerable{System.Collections.Generic.IEnumerable{Microsoft.Cci.IExpression}})">
            <summary>
            Associates the given object with the given list of triggers.
            If the object is already associated with a list of triggers, that association will be lost as a result of this call.
            </summary>
            <param name="triggers">One or more groups of expressions that trigger the instantiation of a quantifier by the theorem prover.</param>
            <param name="quantifier">An object to associate with the triggers. This can be any kind of object.</param>
        </member>
        <member name="M:Microsoft.Cci.Contracts.ContractProvider.AssociateTypeWithContract(System.Object,Microsoft.Cci.Contracts.ITypeContract)">
            <summary>
            Associates the given object with the given type contract.
            If the object is already associated with a type contract, that association will be lost as a result of this call.
            </summary>
            <param name="contract">The contract to associate with type.</param>
            <param name="type">An object to associate with the type contract. This can be any kind of object.</param>
        </member>
        <member name="M:Microsoft.Cci.Contracts.ContractProvider.GetLoopContractFor(System.Object)">
            <summary>
            Returns the loop contract, if any, that has been associated with the given object. Returns null if no association exits.
            </summary>
            <param name="loop">An object that might have been associated with a loop contract. This can be any kind of object.</param>
        </member>
        <member name="M:Microsoft.Cci.Contracts.ContractProvider.GetMethodContractFor(System.Object)">
            <summary>
            Returns the method contract, if any, that has been associated with the given object. Returns null if no association exits.
            </summary>
            <param name="method">An object that might have been associated with a method contract. This can be any kind of object.</param>
        </member>
        <member name="M:Microsoft.Cci.Contracts.ContractProvider.GetTriggersFor(System.Object)">
            <summary>
            Returns the triggers, if any, that have been associated with the given object. Returns null if no association exits.
            </summary>
            <param name="quantifier">An object that might have been associated with triggers. This can be any kind of object.</param>
        </member>
        <member name="M:Microsoft.Cci.Contracts.ContractProvider.GetTypeContractFor(System.Object)">
            <summary>
            Returns the type contract, if any, that has been associated with the given object. Returns null if no association exits.
            </summary>
            <param name="type">An object that might have been associated with a type contract. This can be any kind of object.</param>
        </member>
        <member name="P:Microsoft.Cci.Contracts.ContractProvider.ContractMethods">
            <summary>
            A collection of methods that can be called in a way that provides tools with information about contracts.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.ContractProvider.Unit">
            <summary>
            The unit that this is a contract provider for. Intentional design:
            no provider works on more than one unit.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Contracts.LoopContract">
            <summary>
            A collection of collections of objects that describe a loop.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Contracts.LoopContract.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Contracts.LoopContract.#ctor(Microsoft.Cci.Contracts.ILoopContract)">
            <summary>
            
            </summary>
            <param name="loopContract"></param>
        </member>
        <member name="P:Microsoft.Cci.Contracts.LoopContract.Invariants">
            <summary>
            A possibly empty list of loop invariants.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.LoopContract.Locations">
            <summary>
            A potentially empty collection of locations that correspond to this instance.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.LoopContract.Writes">
            <summary>
            A possibly empty list of expressions that each represents a set of memory locations that may be written to by the loop.
            Is null when no writes clause was specified.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.LoopContract.HasErrors">
            <summary>
            Checks the expression for errors and returns true if any were found.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Contracts.LoopInvariant">
            <summary>
            A condition that must be true at the start of every iteration of a loop.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Contracts.ContractElement">
            <summary>
            A common supertype providing a shared implementation used by the classes
            LoopInvariant, Precondition, PostCondition, and TypeInvariant.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Contracts.ContractElement.#ctor">
            <summary>
            Creates a fresh contract element with no information in it.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Contracts.ContractElement.#ctor(Microsoft.Cci.Contracts.IContractElement)">
            <summary>
            Creates a contract element that shares all of the information in <paramref name="element"/>.
            </summary>
            <param name="element"></param>
        </member>
        <member name="P:Microsoft.Cci.Contracts.ContractElement.Condition">
            <summary>
            The condition associated with this particular contract element.
            
            For  a loop invariant, the condition that must be true at the start of every iteration of a loop.
            For a precondition, it is the condition that must be true for a caller to call the associated
            method.
            For a postcondition, it is the condition that must be true at the end of the method that is
            associated with this instance.
            For an object invariant, well, it is complicated. In general it is a condition that must be
            true at the end of a public constructor and is both a pre- and postcondition for public methods
            on the type with which the object invariant is associated.
            
            The meaning of the condition is dependent on the type of contract. For instance, mostly this
            will be a boolean-valued expression. But it could also be used for loop variant functions in
            which case this would be an expression which represents a natural number.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.ContractElement.Description">
            <summary>
            An optional expression that is associated with this particular contract element. Generally, it would
            be a message that was written at the same time as the contract and is meant to be used as a description
            when the contract fails.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.ContractElement.OriginalSource">
            <summary>
            As an option, tools that provide contracts may want to have a "string-ified" version
            of the condition.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.ContractElement.HasErrors">
            <summary>
            Checks the expression for errors and returns true if any were found.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.ContractElement.Locations">
            <summary>
            A potentially empty collection of locations that correspond to this instance.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Contracts.LoopInvariant.#ctor">
            <summary>
            Creates a fresh loop invariant.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Contracts.LoopInvariant.#ctor(Microsoft.Cci.Contracts.ILoopInvariant)">
            <summary>
            Creates a loop invariant that shares all of the information in <paramref name="loopInvariant"/>.
            </summary>
            <param name="loopInvariant"></param>
        </member>
        <member name="T:Microsoft.Cci.Contracts.MethodContract">
            <summary>
            A collection of collections of objects that augment the type signature of a method with additional information
            that describe the contract between calling method and called method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Contracts.MethodContract.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Contracts.MethodContract.#ctor(Microsoft.Cci.Contracts.IMethodContract)">
            <summary>
            
            </summary>
            <param name="methodContract"></param>
        </member>
        <member name="P:Microsoft.Cci.Contracts.MethodContract.Allocates">
            <summary>
            A possibly empty list of expressions that each represents a set of memory locations that are newly allocated by a call to the method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.MethodContract.Frees">
            <summary>
            A possibly empty list of expressions that each represents a set of memory locations that are freed by a call to the method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.MethodContract.Locations">
            <summary>
            A potentially empty collection of locations that correspond to this instance.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.MethodContract.ModifiedVariables">
            <summary>
            A possibly empty list of addressable expressions (variables) that are modified by the called method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.MethodContract.MustInline">
            <summary>
            The method body constitutes its contract. Callers must substitute the body in line with the call site.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.MethodContract.Postconditions">
            <summary>
            A possibly empty list of postconditions that are established by the called method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.MethodContract.Preconditions">
            <summary>
            A possibly empty list of preconditions that must be established by the calling method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.MethodContract.Reads">
            <summary>
            A possibly empty list of expressions that each represents a set of memory locations that may be read by the called method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.MethodContract.ThrownExceptions">
            <summary>
            A possibly empty list of exceptions that may be thrown (or passed on) by the called method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.MethodContract.Writes">
            <summary>
            A possibly empty list of expressions that each represents a set of memory locations that may be written to by the called method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.MethodContract.IsPure">
            <summary>
            True if the method has no observable side-effect on program state and hence this method is safe to use in a contract,
            which may or may not be executed, depending on how the program has been compiled.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.MethodContract.HasErrors">
            <summary>
            Checks the object for errors and returns true if any have been found
            </summary>
            <returns></returns>
        </member>
        <member name="T:Microsoft.Cci.Contracts.Precondition">
            <summary>
            A condition that must be true at the start of a method, possibly bundled with an exception that will be thrown if the condition does not hold.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Contracts.Precondition.#ctor">
            <summary>
            Creates a fresh precondition.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Contracts.Precondition.#ctor(Microsoft.Cci.Contracts.IPrecondition)">
            <summary>
            Creates a precondition that shares all of the information in <paramref name="precondition"/>.
            </summary>
            <param name="precondition"></param>
        </member>
        <member name="P:Microsoft.Cci.Contracts.Precondition.AlwaysCheckedAtRuntime">
            <summary>
            The precondition is always checked at runtime, even in release builds.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.Precondition.ExceptionToThrow">
            <summary>
            An exeption that will be thrown if Condition is not true at the start of the method that is associated with this instance.
            May be null. If null, the runtime behavior of the associated method is undefined when Condition is not true.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Contracts.PostCondition">
            <summary>
            A condition that must be true at the end of a method.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Contracts.PostCondition.#ctor">
            <summary>
            Creates a fresh postcondition.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Contracts.PostCondition.#ctor(Microsoft.Cci.Contracts.IPostcondition)">
            <summary>
            Creates a postcondition that shares all of the information in <paramref name="postcondition"/>
            </summary>
            <param name="postcondition"></param>
        </member>
        <member name="T:Microsoft.Cci.Contracts.ThrownException">
            <summary>
            An exception that can be thrown by the associated method, along with a possibly empty list of postconditions that are true when that happens.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Contracts.ThrownException.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Contracts.ThrownException.#ctor(Microsoft.Cci.Contracts.IThrownException)">
            <summary>
            
            </summary>
            <param name="thrownException"></param>
        </member>
        <member name="P:Microsoft.Cci.Contracts.ThrownException.ExceptionType">
            <summary>
            The exception that can be thrown by the associated method.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.ThrownException.Postcondition">
            <summary>
            The postcondition that holds if the associated method throws this exception.
            </summary>
        </member>
        <member name="T:Microsoft.Cci.Contracts.TypeContract">
            <summary>
            A collection of collections of objects that augment the signature of a type with additional information
            that describe invariants, model variables and functions, as well as axioms.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Contracts.TypeContract.#ctor">
            <summary>
            
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Contracts.TypeContract.#ctor(Microsoft.Cci.Contracts.ITypeContract)">
            <summary>
            
            </summary>
            <param name="typeContract"></param>
        </member>
        <member name="P:Microsoft.Cci.Contracts.TypeContract.ContractFields">
            <summary>
            A possibly empty list of contract fields. Contract fields can only be used inside contracts and are not available at runtime.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.TypeContract.ContractMethods">
            <summary>
            A possibly empty list of contract methods. Contract methods have no bodies and can only be used inside contracts. The meaning of a contract
            method is specified by the axioms of the associated type. Contract methods are not available at runtime.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.TypeContract.Invariants">
            <summary>
            A possibly empty list of type invariants.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.TypeContract.Locations">
            <summary>
            A potentially empty collection of locations that correspond to this instance.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.TypeContract.HasErrors">
            <summary>
            Checks the object for errors and returns true if any have been found
            </summary>
            <returns></returns>
        </member>
        <member name="T:Microsoft.Cci.Contracts.TypeInvariant">
            <summary>
            A condition that must be true after an object has been constructed and that is by default a part of the precondition and postcondition of every public method of the associated type.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Contracts.TypeInvariant.#ctor">
            <summary>
            Creates a fresh type invariant.
            </summary>
        </member>
        <member name="M:Microsoft.Cci.Contracts.TypeInvariant.#ctor(Microsoft.Cci.Contracts.ITypeInvariant)">
            <summary>
            Creates a type invariant that shares all of the information in <paramref name="typeInvariant"/>.
            </summary>
            <param name="typeInvariant"></param>
        </member>
        <member name="P:Microsoft.Cci.Contracts.TypeInvariant.IsAxiom">
            <summary>
            An axiom is a type invariant whose truth is assumed rather than derived. Commonly used to make statements about the meaning of contract methods.
            </summary>
        </member>
        <member name="P:Microsoft.Cci.Contracts.TypeInvariant.Name">
            <summary>
            The name of the invariant. Used in error diagnostics. May be null.
            </summary>
        </member>
    </members>
</doc>
